&&,||,(),{} 四個符號的運用
shell指令碼執行命令的時候,有時候會依賴於前乙個命令是否執行成功。而&&和||就是用來判斷前乙個命令執行效果的。
1 &&
使用方法:命令1 && 命令2
這個方式簡單明瞭,命令1如果返回結果為真(即執行返回為0,成功執行)後,命令2才被執行
換句話說,如果命令1執行成功&&那麼執行命令2
這裡有個命令
[ -f /home/dellogs.sh ] && echo "清除日至指令碼存在"
總之,&&符號代表如果第乙個命令執行成功才執行第二個命令。
2 ||
使用方法:命令1 || 命令2
||命令,如果命令1沒有執行成功則執行命令2
如簡單例子
cp wopper.txt oop.txt || echo "cp命令執行沒有成功"
如果||左邊的命令沒有執行成功,則螢幕中除顯示「cp命令執行沒有成功」
下面給出乙個更為實用的例子,
awk 『』 acc.qrt >qtr.tmp || echo "sorry the payroll(薪水) extraction(抽取) did'not work" | mail root
3 除了使用&&和||這兩方法外,還可以用(),{}這兩個符號把命令連線起來
()和{}存在的目的只是為了,能乙個shell或子shell中執行一組命令
使用方法(命令1;命令2;命令3;...)和
這種情況比較少遇到,一般要和&&,||兩個命令一起使用。
例如
shell順序執行
假定有三個sh指令碼,a,b,c,如果是要順序執行,可以有多種方式,有人推薦sleep,這種從邏輯上存在問題的,因為非正常情況,sleep是沒有用的。有人推薦使用訊號量觸發的形式,這就比較高階了,需要有紮實的shell程式設計知識,平時的小功能,可考慮其他形式。假定a,裡面執行b和c,形式還是通過 ...
linux命令執行順序,以及shell程式設計
按順序執行用 ls date同乙個命令列併發執行 ls date只有前一條命令執行完,才執行下一條命令 is a.txt rn a.txt執行前一條命令,如果錯誤,執行下一條 is a.txt mkdir a.txt bin sh echo hello world,today is echo dat...
SHELL指令碼 多命令邏輯執行順序
bash shell系列文章 linux中可以使用分號 雙and號 和雙豎線 來連線多個命令。單 符號也算命令連線符號,只不過它是將其前面的命令放入後台執行,所以可以變相地實現命令並行執行。command1 command2 命令之間沒有邏輯關係。分號連線的命令會按照順序從前向後依次執行,但分號兩端...