Shell| 關於;和&&以及命令換行在shell中的區別
阿新 • • 發佈:2019-02-02
總結
命令A
;
命令B
說明:命令A
和 命令B
的執行結果互不影響,只是將兩條命令寫在了同一行.
命令A
&&
命令B
說明:命令A
和 命令B
的執行結果如果失敗,將不會執行命令B
.
命令A和命令B寫在兩行
說明:在shell指令碼中命令換行,命令從上向下執行,即使命令A
執行失敗,命令B
也照常執行.
測試&&
[root@yveshe ~]# cd
[root@yveshe ~]# cd /yves && pwd
-bash: cd: /yves: No such file or directory
[root@yveshe ~]#
我這裡的根目錄是沒有yves
這個目錄的.所以執行cd /yves
會報錯,從結果我們可以看出pwd
命令是沒有被執行的.
測試;
[root@yveshe ~]# cd
[root@yveshe ~]# cd /yves ; pwd
-bash: cd: /yves: No such file or directory
/root
[root@yveshe ~]#
使用;
連線兩條命令時,我們發現命令pwd
是被執行了的.
測試命令在兩行
run.sh指令碼內容如下:
#! /bin/bash
cd /yves #末尾是否有;號不影響下面命令的執行
pwd
執行結果:
[root@yveshe ~]# ./run.sh
./run.sh: line 3: cd: /yves: No such file or directory
/root
[root@yveshe ~]#
由執行結果我們知道在shell指令碼中將多條命令換行,命令是從上向下執行,當上面的命令執行錯誤時,下面的命令也會繼續執行.這一點與每行語句後面有沒有;
結果是一致的,使用;
的唯一目的就是講多條命令可以寫在同一行而已.