1. 程式人生 > >linux中利用shell指令碼條件執行命令

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目錄下新增多個此類指令碼。

相關推薦

linux利用shell指令碼條件執行命令

在linux環境中,我們總會有一些命令需要經常用,例如經常跳轉到某些目錄下或者執行某些命令,輸入一連串的命令是很煩的,此時我們可以預先寫一些指令碼然後根據我們的選擇自動執行命令,那豈不是完美,本指令碼就是為此而生的(以跳轉不同的目錄舉例,當然也可以執行其他命令,

linux利用shell指令碼條件執行linux命令

linux中利用shell指令碼條件執行命令 在linux環境中,我們總會有一些命令需要經常用,例如經常跳轉到某些目錄下或者執行某些命令,輸入一連串的命令是很煩的,此時我們可以預先寫一些指令碼然後根據我們的選擇自動執行命令,那豈不是完美,本指令碼就是為此而生的(以跳轉不

java呼叫linuxshell指令碼並返回執行結果

來自:http://blog.sina.com.cn/s/blog_8e5354210101ku2e.html process這個類是一個抽象類,封裝了一個程序(你在呼叫linux的命令或者shell指令碼就是為了執行一個在linux下執行的程式,所以應該使用process

Linuxshell指令碼

shell 指令碼:通常指的是在linux版本伺服器中編寫的指令碼。shell 指令碼本看成使用者和系統之間的溝通橋樑。 shell屬於解釋型語言。 直譯器型別有: /bin/sh /bin/bash /bin/ksh /bin/csh 等。 常用和絕大多數linux核

如何在 Linux 啟用 Shell 指令碼的除錯模式【轉】

指令碼是儲存在一個檔案的一系列命令。在終端上輸入一個個命令,按順序執行的方法太弱了,使用指令碼,系統中的使用者可以在一個檔案中儲存所有命令,反覆呼叫該檔案多次重新執行命令。 在學習指令碼或寫指令碼的初期階段,我們通常從寫小指令碼或者幾行命令的短指令碼開始,除錯這樣的指令

Linux下使用shell指令碼自動執行指令碼檔案

一、定時複製檔案   a、在/usr/local/wfjb_web_back目錄下建立 tomcatBack.sh檔案   檔案內容: ? 1 2 #將tomcat中的應用wfjb_web 複製到 /usr/local/wfjb_web_bac

linuxshell指令碼內alias和unalias不可用解決辦法

在shell中使用alias和unalis命令時,會報找不到命令的錯誤,因為在非互動頁面是無法使用別名命令的。 使用shopt命令開啟,shopt為系統自帶命令,不用另外安裝。 在shell中加入 shopt -s expand_aliases

linux通過shell指令碼複製檔案,並用時間戳命名

其中/var/log/ha/ha.log該檔案是被複制檔案,var/log/ha/log/$currentTimeStamp時間戳生成的檔案複製的檔案,/var/log/ha/cp_info.log是實行本shell的操作記錄,同時本currentTimeStamp時間戳是長

Linux使用Shell指令碼插入mysql資料庫中文欄位值亂碼問題

問題描述 我在shell指令碼寫了一段insert到mysql的語句,測試語句如下: mysql -h*** -P3306 -u*** -p*** -D *** -e "insert into test values('123456', '測試')"

LinuxShell指令碼逐行讀取檔案的4種方法

1.釜底抽薪法 while迴圈中執行效率最高,最常用的方法 function while_read_LINE_bottm(){ While read LINE do echo $LINE done 

利用shell指令碼執行mongdb命令

用shell指令碼執行mongdb的renameCollection命令: 1、建立一個*.sh檔案 2、增加如下命令: #!/bin/bash mycol="test" mongo 127.0.0.1:27017/pica -u pica_user -p "[email 

利用shell指令碼執行ssh遠端另一臺主機執行命令並返回命令的結果集

假設從主機A,檢查主機B上的程序, 需要在主機B上建立檢查使用者,例如叫x, 並設定通過public key認證登入SSH,不會可以google搜一下, 然後,在A機器上執行: ssh [email protected] ~/command.sh > re

利用shell指令碼監控linuxCPU、記憶體和磁碟利用率。(centos7)

  這篇部落格中所寫的,在實際工作中並沒有什麼卵用,工作中並不會用到這種指令碼去監控。不過自己寫一遍,可以讓初學者對CPU、記憶體、磁碟等一些基礎知識和基礎命令更加了解。 1、利用vmstat工具監控CPU詳細資訊,然後基於/proc/stat計算CPU利用率進行監控,超過80報警並提取出佔用cpu最高的前十

linux shell編寫指令碼執行命令同時操作多臺主機

執行命令同時檢視多臺主機jps#!/bin/bash [email protected] i=201 for (( i = 1 ; i <= 3 ; i = $i + 1 )) ; do echo ============= es0$i $param

linux下使用shell指令碼開啟多個terminal並在其中執行程式的方法

gnome-terminal(是一種模擬終端器,一說是ubuntu的terminal就叫gnome-terminal)命令用於開啟一個新的終端,直接在命令列 $ gnome-terminal 就可以開啟一個新的終端,有一些常用引數: 開啟後自動最大化 $ gnome-terminal --maxim

Linux Shell指令碼程式設計 --awk命令詳解

簡單使用: awk :對於檔案中一行行的獨處來執行操作 。 awk -F :'{print $1,$4}'   :使用‘:’來分割這一行,把這一行的第一第四個域打印出來 。    

Linux Centos7通過shell指令碼來監控mysql的執行狀態

vim checkmysql.sh #!/bin/sh #create by mingongge at 2018-10-10 port=`netstat -lnt|grep 3306|wc -l` if  [ $post -ne 1 ] ;then    now

Linux下通過shell進MySQL執行SQL或匯入指令碼

這條命令表示通過使用者名稱和密碼執行shell然後在shell裡面執行一個建表語句: USER="root" PASS="root" mysql -u $USER -p$PASS <<EOF 2> /dev/null CREATE DATABASE um; EOF 下面的命令在登陸My

[Linux]如何在Shell指令碼計算字串長度?

有時在Linux作業系統中需要計算某個字串的長度,通過查詢資料整理了下目前Shell中獲取字串的長度的多種方法,在這裡分享給大家,方法如下: 方法1: 使用wc -L命令 wc -L可以獲取到當前行的長度,因此對於單獨行的字串可以用這個簡單的方法獲取,另外wc -l則是獲取當前字串內容的行數。 [c

Linuxshell指令碼定時執行

1.啟動crond服務 輸入命令:service crond restart Stopping crond: [ OK ] Starting crond: