linux中利用shell指令碼條件執行linux命令
阿新 • • 發佈:2018-12-15
linux中利用shell指令碼條件執行命令
在linux環境中,我們總會有一些命令需要經常用,例如經常跳轉到某些目錄下或者執行某些命令,輸入一連串的命令是很煩的,此時我們可以預先寫一些指令碼然後根據我們的選擇自動執行命令,那豈不是完美,本指令碼就是為此而生的(以跳轉不同的目錄舉例,當然也可以執行其他命令,這時候只需要類比寫shell命令即可) 1、首先建一個shell指令碼start.sh
#!/bin/bash cd_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!" fi echo ""
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目錄下新增多個此類指令碼。