Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Shell 命令串聯:; 與 && 的關鍵差異解析

編輯:Linux 教學

核心差異一覽

運算子執行邏輯適用場景
;無條件循序執行,前一指令成功與否皆執行後續指令獨立任務串聯、清理動作
&&短路邏輯:僅當前一指令回傳 0(成功)時才執行後續指令依賴關係鏈、建構腳本、部署流程

實際範例對比

使用分號 ;

# 即使 make 失敗,仍會執行 make install
make ; make install

結果:可能安裝未完成建構的檔案,導致系統不一致。

使用雙和號 &&

# make 成功才執行 make install
make && make install

結果:建構失敗時自動停止,避免錯誤擴散。

進階組合技巧

多重條件串聯

# 依序執行,任一失敗即停止
./configure && make && make install

搭配 || 處理失敗情況

# 備份失敗則發送警報
tar czf backup.tar.gz /data && echo "備份成功" || (echo "備份失敗" | mail -s "備份警報" admin@example.com)

群組命令與子 Shell

# 使用大括號群組,配合 && 控制整體流程
{ cd /src && make clean && make ; } && echo "建構完成"

最佳實踐建議

  • 建構/部署腳本:全程使用 && 確保原子性
  • 獨立維護任務:如日誌輪轉、暫存清理,用 ; 確保皆執行
  • 除錯時:暫時改用 ; 觀察各步驟輸出
  • 注意副作用:cd /tmp && rm -rf * 比 cd /tmp; rm -rf * 安全得多
Copyright © Windows教程網 All Rights Reserved