set -e: 執行的時候如果出現了返回值為非零,整個指令碼就會立即退出
set +e: 執行的時候如果出現了返回值為非零,將會繼續執行下面的指令碼
set -u: 執行的時候如果遇到不存在的變數,會報錯並停止執行
cmd1 ; cmd2
cmd1 和 cmd2都會被執行
cmd1 && cmd2
如果 cmd1 執行成功則執行 cmd2
cmd1 || cmd2
如果 cmd1 執行失敗則執行 cmd2
變數含義
$0當前指令碼的檔名
$n傳遞給指令碼或函式的引數。n 是乙個數字,表示第幾個引數。例如,第乙個引數是$1,第二個引數是$2
$#傳遞給指令碼或函式的引數個數
$*傳遞給指令碼或函式的所有引數。被雙引號(" ")包含時,會將所有的引數作為乙個整體
$@傳遞給指令碼或函式的所有引數。被雙引號(" ")包含時,會將各個引數分開
$?上個命令的退出狀態,或函式的返回值
$$當前shell程序id。對於 shell 指令碼,就是這些指令碼所在的程序id
shell指令碼常用指令碼
go指令碼總結 shell指令碼在我們工作過程中會起到相當重要的作用,下面是我在一年工作中儲存下來的常用的指令碼。在某個程式需要完成多機部署,並且路徑一致的時候,通過指令碼來完成部署,啟動,終止是一件很方便的事情。bin bash author zhaoyixing breif 程式部署指令碼 br...
常用的shell指令碼
一 檢視區域網在用ip的情況 工作時,ping不通當未分配ip 指令碼 bin bash for i in doping c2 i0.3 w1 163.177.111.i dev null if eq 0 then echo e 033 32m 163.177.111.i is up 033 0m ...
學習shell指令碼遇到的問題
16 03 07 bin bash echo hello world 存為hello.sh 在終端執行時,輸入 hello.sh 報錯 bash hello.sh permission denied 檢視文字許可權為 ls l hello.sh rw r r 1 wangdanying staff ...