Shell && vs || operator_Bash

來源:互聯網
上載者:User
cmd1 && cmd2 如果命令cmd1 的result status 0,則執行cmd2,否則不執行cmd2命令。
cmd1 || cmd2 如果命令cmd1 的result status 1,則執行cmd2, 否則不執行cmd2命令。
可以用於異常出錯處理:
i.e: 運行cmd1命令,如果cmd1運行出錯,則輸出一條提示資訊。
adb -s "device" logcat || { echo "device not found"; exit 1; }

解釋:如果命令adb -s "device" logcat 執行出錯, 則給使用者提示"device not found."

i.e:
如下命令:
[[ -e file1 ]] && echo "file1 file exits." || touch file1

第一次執行該命令,由於當前命令下沒有file1 file,執行[[ -e file1 ]] 命令的result status 為1 ; 不會執行命令echo "file1 file exits", 而對於touch file1 命令,由於之前的操作([[ -e file1 ]] && echo "file1 file exits.")的 result status 為1,因此,則執行touch file1

但運行第二次該命令時,[[ -e file1 ]] 命令返回0, 則執行echo "file1 file exits" ,而不執行touch file1命令。
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.