萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> shell命令執行順序的控制辦法

shell命令執行順序的控制辦法

 &&
命令1 && 命令2:如果這個命令執行成功&&那麼執行這個命令。
[開發]/usr/xxxx/ytcclb>ls -l test.sql
-rwxr--r-- 1 xxxx group 225 Nov 15 14:12 test.sql
[開發]/usr/xxxx/ytcclb>cp test.sql test.bak && echo "coping file ok!"
coping file ok!
[開發]/usr/xxxx/ytcclb>ls -l test.*
-rwxr--r-- 1 xxxx group 225 Nov 15 17:48 test.bak
-rwxr--r-- 1 xxxx group 225 Nov 15 14:12 test.sql

移動文件,刪除目錄:
$ mv /apps/bin /apps/dev/bin && rm -r /apps/bin
將文件排序,輸出到另一個文件,成功後打印:
$ sort test.sql > test.bak && lp test.bak

||
命令1 || 命令2:如果這個命令執行失敗了 || 那麼執行這個命令。
$ cp test.sql test.bak || echo "errors occured during coping file"
例如:
[開發]/usr/xxxx/ytcclb>cp test.sql test.bak
[開發]/usr/xxxx/ytcclb>ls -l test.*
-rwxr--r-- 1 xxxx group 225 Nov 15 18:08 test.bak
-rwxr--r-- 1 xxxx group 225 Nov 15 14:12 test.sql
[開發]/usr/xxxx/ytcclb>chmod u-w test.bak
[開發]/usr/xxxx/ytcclb>ls -l test.*
-r-xr--r-- 1 xxxx group 225 Nov 15 18:08 test.bak
-rwxr--r-- 1 xxxx group 225 Nov 15 14:12 test.sql
[開發]/usr/xxxx/ytcclb>cp test.sql test.bak || echo "errors occrued during coping file"
cp: unable to create file test.bak: Permission denied (error 13)
errors occrued during coping file
[開發]/usr/xxxx/ytcclb>

()和{}:將幾個命令組合起來使用。
(命令1;命令2;...):在當前shell中執行一組命令。
{命令1;命令2;...}:大括號裡面的內容將作為整體執行。

copyright © 萬盛學電腦網 all rights reserved