shell技巧分享(八)

這是一個(gè)系列文章,主要分享shell(部分功能僅適用于bash)的使用建議和技巧,每次分享3點(diǎn),希望你能有所收獲。

1 &&的作用

$ touch test.log
$ cat test.log && echo ok
ok
$ rm test.log
$ cat test.log && echo ok
cat: test.log: No such file or directory

如果命令之間使用&&分隔,相當(dāng)于邏輯“與”,此時(shí)只有前一個(gè)命令執(zhí)行成功,后一個(gè)命令才會(huì)執(zhí)行,如果前一個(gè)命令執(zhí)行失敗,后一個(gè)命令就不會(huì)執(zhí)行。由示例中可以看到,當(dāng)test.log文件存在時(shí),會(huì)正常打印ok,但是刪除test.log文件后,cat test.log執(zhí)行失敗,不會(huì)執(zhí)行第二條命令,所以不打印ok。

2 ||的作用

$ touch test.log
$ cat test.log || echo ok
$ rm test.log
$ cat test.log || echo ok
cat: test.log: No such file or directory
ok

如果命令之間使用||分隔,相當(dāng)于邏輯“或”,此時(shí)只有前一個(gè)命令執(zhí)行失敗,后一個(gè)命令才會(huì)執(zhí)行,如果前一個(gè)命令執(zhí)行成功,后一個(gè)命令就不會(huì)執(zhí)行。由示例中可以看到,當(dāng)test.log文件存在時(shí),不會(huì)打印ok,但是刪除test.log文件后,cat test.log執(zhí)行失敗,此時(shí)會(huì)執(zhí)行第二條命令,所以打印ok,行為和&&相反。

3 分號(hào)的作用

$ touch test.log
$ cat test.log;echo ok
ok
$ rm test.log
$ cat test.log;echo ok
cat: test.log: No such file or directory
ok

如果命令之間使用分號(hào)分隔,那么命令會(huì)依次執(zhí)行,不管分號(hào)前的命令是否執(zhí)行成功,后續(xù)命令都會(huì)執(zhí)行。由示例中可以看到,就算將test.log文件刪除,也會(huì)正常打印ok。

綜上,三種符號(hào)的作用總結(jié)如下:

  • cmdA && cmdB:只有cmdA執(zhí)行成功,才會(huì)執(zhí)行cmdB
  • cmdA || cmdB:只有cmdA執(zhí)行失敗,才會(huì)執(zhí)行cmdB
  • cmdA ; cmdB:不管cmdA是否執(zhí)行成功,都會(huì)執(zhí)行cmdB
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 134,837評(píng)論 18 139
  • .bat腳本基本命令語(yǔ)法 目錄 批處理的常見(jiàn)命令(未列舉的命令還比較多,請(qǐng)查閱幫助信息) 1、REM 和 :: 2...
    慶慶慶慶慶閱讀 8,176評(píng)論 1 19
  • linux資料總章2.1 1.0寫的不好抱歉 但是2.0已經(jīng)改了很多 但是錯(cuò)誤還是無(wú)法避免 以后資料會(huì)慢慢更新 大...
    數(shù)據(jù)革命閱讀 12,203評(píng)論 2 33
  • 什么是運(yùn)維 術(shù)語(yǔ)名詞 IDC--(Internet Data Center)互聯(lián)網(wǎng)數(shù)據(jù)中心,主要服務(wù)包括整機(jī)租用、...
    lyh165閱讀 2,749評(píng)論 0 19
  • 【1057快報(bào)】 今天早上有市民給忻州人民綜合廣播發(fā)來(lái)消息,稱市內(nèi)牧馬路雁門大道南街交通信號(hào)燈歪斜,有安全隱患,我...
    圖說(shuō)忻州閱讀 265評(píng)論 0 0