linux中利用shell脚本条件执行命令

来源:互联网 发布:手机apk反编译软件 编辑:程序博客网 时间:2024/05/22 23:59

在linux环境中,我们总会有一些命令需要经常用,例如经常跳转到某些目录下或者执行某些命令,输入一连串的命令是很烦的,此时我们可以预先写一些脚本然后根据我们的选择自动执行命令,那岂不是完美,本脚本就是为此而生的(以跳转不同的目录举例,当然也可以执行其他命令,这时候只需要类比写shell命令即可)
1、首先建一个shell脚本start.sh

#!/bin/bashcd_dir_1="/export/songhongwei/code"cd_dir_2="/export/songhongwei/data"cd_dir_3="/export/songhongwei/soft"echo ""echo " 1: cd $cd_dir_1"echo " 2: cd $cd_dir_2"echo " 3: cd $cd_dir_3"echo ""read -p "Please input the choice:"  idx#if [[ -z "$idx"]];then#  echo "no choice,exit"if [[ '1' = "$idx" ]];then  eval "cd $cd_dir_1"elif [[ '2' = "$idx" ]];then  eval "cd $cd_dir_2"elif [[ '3' = "$idx" ]];then  eval "cd $cd_dir_3"else  echo "no choice,exit!"fiecho ""

2、然后把该脚本放在某个目录下,例如本人放在了/export/songhongwei/soft/sh
3、编辑~/.profile文件把sh目录添加到环境变量即可

PATH="$HOME/bin:$HOME/.local/bin:/export/songhongwei/soft/sh:$PATH"

4、在shell或linux终端中可以在任何目录下直接访问该命令

. start.sh 或 source start.sh

这里写图片描述

注:
(1)步骤4中,start.sh 前的 点 不能忘记,代表的是在当前bash环境下读取并执行FileName中的命令,否则会新开子进程执行FileName中的命令,此时cd无法再当前bash环境跳转。
source、sh、bash、./执行脚本的区别:http://blog.csdn.net/yun90/article/details/22667829
(2)添加sh目录到环境变量目的是一方面可以在任何目录下执行FileName中命令,另外可以在该sh目录下添加多个此类脚本。

原创粉丝点击