<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
Linux 中可以使用分號";“、雙and號”&&“和雙豎線”||"來連線多個命令。根據場景的不同適當的使用合適的符號。
歷史攻略
命令連線符解析:
僅連線,表示執行先後,無邏輯關係:分號";",如command1 ; command2
邏輯與關係:&&,如command1 && command2
邏輯或關係:&&,如command1 && command2
命令之間沒有邏輯關係。分號連線的命令會按照順序從前向後依次執行,但分號兩端的命令之間沒有任何邏輯關係,所有寫出來的命令最終都會被執行,即使分號前面的命令出錯也不影響後面的命令。
邏輯與。&&連線的命令會按照順序從前向後執行,但只有當command1正確執行才執行command2,如果command1不正確執行,則不執行command2。在bash中,通過預定義變數“? ”來判斷命令是否正確執行,如果 " ?”來判斷命令是否正確執行,如果"?”來判斷命令是否正確執行,如果"?"的值為0則表示前一條命令正確執行,其他任意值都表示不正確執行。
邏輯或。||連線的命令會按照順序從前向後執行,但只有當command1不正確執行才執行command2,command1正確執行則不會執行command2。||和&&都是短路符號,符號左右的命令之間具有邏輯關係。
# -*- coding: utf-8 -*- # time: 2022/10/4 21:47 # file: cmd_1_success.py # 公眾號: 玩轉測試開發 def run_success_1(): print("cmd_1 start run") print("cmd_1 do something") print("cmd_1 end") if __name__ == '__main__': run_success_1()
cmd1_fail = python cmd_1_fail.py
# -*- coding: utf-8 -*- # time: 2022/10/4 21:47 # file: cmd_1_fail.py # 公眾號: 玩轉測試開發 def run_fail_1(): print("cmd_1 start run") raise BaseException print("cmd_1 end") if __name__ == '__main__': run_fail_1()
cmd2_success = python cmd_2_success.py
# -*- coding: utf-8 -*- # time: 2022/10/4 21:49 # file: cmd_2_success.py def run_success_2(): print("cmd_2 start run") print("cmd_2 do something") print("cmd_2 end") if __name__ == '__main__': run_success_2()
cmd2_fail = python cmd_2_fail.py
# -*- coding: utf-8 -*- # time: 2022/10/4 21:51 # file: cmd_2_fail.py # 公眾號: 玩轉測試開發 def run_fail_2(): print("cmd_2 start run") raise BaseException print("cmd_2 end") if __name__ == '__main__': run_fail_2()
即:存在4種基本情況
cmd_1_success、cmd_2_success
cmd_1_fail、cmd_2_success
cmd_1_success、cmd_2_fail
cmd_1_fail、cmd_2_fail
test.sh
#bin/bash python cmd_1_success; python cmd_2_success python cmd_1_success && python cmd_2_success python cmd_1_success || python cmd_2_success
演示分號的四類基礎情況:
# 第一種情況:cmd_1_success; cmd_2_success cmd_1 start run cmd_1 do something cmd_1 end cmd_2 start run cmd_2 do something cmd_2 end # 第二種情況:cmd_1_fail; cmd_2_success cmd_1 start run Traceback (most recent call last): File "cmd_1_fail.py", line 14, in <module> run_fail_1() File "cmd_1_fail.py", line 9, in run_fail_1 raise BaseException BaseException cmd_2 start run cmd_2 do something cmd_2 end # 第三種情況:cmd_1_success; cmd_2_fail cmd_1 start run cmd_1 do something cmd_1 end cmd_2 start run Traceback (most recent call last): File "cmd_2_fail.py", line 14, in <module> run_fail_2() File "cmd_2_fail.py", line 9, in run_fail_2 raise BaseException BaseException # 第四種情況:cmd_1_fail; cmd_2_fail cmd_1 start run Traceback (most recent call last): File "cmd_1_fail.py", line 14, in <module> run_fail_1() File "cmd_1_fail.py", line 9, in run_fail_1 raise BaseException BaseException cmd_2 start run Traceback (most recent call last): File "cmd_2_fail.py", line 14, in <module> run_fail_2() File "cmd_2_fail.py", line 9, in run_fail_2 raise BaseException BaseException
演示 && 的四類基本情況:
# 第一種情況:cmd_1_success && cmd_2_success cmd_1 start run cmd_1 do something cmd_1 end cmd_2 start run cmd_2 do something cmd_2 end # 第二種情況:cmd_1_fail && cmd_2_success cmd_1 start run Traceback (most recent call last): File "cmd_1_fail.py", line 14, in <module> run_fail_1() File "cmd_1_fail.py", line 9, in run_fail_1 raise BaseException BaseException # 第三種情況:cmd_1_success && cmd_2_fail cmd_1 start run cmd_1 do something cmd_1 end cmd_2 start run Traceback (most recent call last): File "cmd_2_fail.py", line 14, in <module> run_fail_2() File "cmd_2_fail.py", line 9, in run_fail_2 raise BaseException BaseException # 第四種情況:cmd_1_fail && cmd_2_fail cmd_1 start run Traceback (most recent call last): File "cmd_1_fail.py", line 14, in <module> run_fail_1() File "cmd_1_fail.py", line 9, in run_fail_1 raise BaseException BaseException
演示 || 的四類基本情況:
# 第一種情況:cmd_1_success || cmd_2_success cmd_1 start run cmd_1 do something cmd_1 end # 第二種情況:cmd_1_fail || cmd_2_success cmd_1 start run Traceback (most recent call last): File "cmd_1_fail.py", line 14, in <module> run_fail_1() File "cmd_1_fail.py", line 9, in run_fail_1 raise BaseException BaseException cmd_2 start run cmd_2 do something cmd_2 end # 第三種情況:cmd_1_success || cmd_2_fail cmd_1 start run cmd_1 do something cmd_1 end # 第四種情況:cmd_1_fail || cmd_2_fail cmd_1 start run Traceback (most recent call last): File "cmd_1_fail.py", line 14, in <module> run_fail_1() File "cmd_1_fail.py", line 9, in run_fail_1 raise BaseException BaseException cmd_2 start run Traceback (most recent call last): File "cmd_2_fail.py", line 14, in <module> run_fail_2() File "cmd_2_fail.py", line 9, in run_fail_2 raise BaseException BaseException
即:分號前後執行無邏輯關係;&&後面的命令需要前面的命令正常執行;
||後面的命令需要前面的命令執行失敗才執行。
到此這篇關於Linux Shell指令碼多命令執行邏輯的範例詳解的文章就介紹到這了,更多相關Shell指令碼多命令執行邏輯內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45