日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

linux脚本 逻辑运算,Linux-shell-逻辑运算和;

發(fā)布時(shí)間:2023/12/4 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux脚本 逻辑运算,Linux-shell-逻辑运算和; 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

7.Shell

7.5.2命令執(zhí)行的判斷依據(jù): ; , &&, ||

1.cmd ; cmd (不考慮指令相關(guān)性的連續(xù)指令下達(dá))

一般用于多條命令之間沒有直接需求聯(lián)系,最多只是有一個(gè)執(zhí)行先后的關(guān)系。

[root@localhost tmp]# sync; shutdown -h now

2.與&&或 ||指令下達(dá)情況說明

cmd1 && cmd21.若 cmd1 執(zhí)行完畢且正確執(zhí)行($?=0),則開始執(zhí)行 cmd2。

2.若 cmd1 執(zhí)行完畢且為錯(cuò)誤 ($?≠0),則 cmd2 不執(zhí)行。

cmd1 || cmd21.若 cmd1 執(zhí)行完畢且正確執(zhí)行($?=0),則 cmd2 不執(zhí)行。

2.若 cmd1 執(zhí)行完畢且為錯(cuò)誤 ($?≠0),則開始執(zhí)行 cmd2。

[root@localhost tmp]# ls /tmp/abc && touch /tmp/abc/hehe

ls: cannot access /tmp/abc: No such file or directory

[root@localhost tmp]# ls

aaa? stderr? stdout

#測試 /tmp/abc是否存在,若存在則用 touch 建立 /tmp/abc/hehe

[root@localhost tmp]# ls /tmp/abc || mkdir /tmp/abc

ls: cannot access /tmp/abc: No such file or directory

[root@localhost tmp]# ls

aaa? abc? stderr? stdout

#測試 /tmp/abc是否存在,若不存在則予以建立,若存在就不作任何事情

[root@localhost tmp]# ls /tmp/abc || mkdir /tmp/abc && touch /tmp/abc/hehe

[root@localhost tmp]# ls abc/

hehe

#我不清楚 /tmp/abc是否存在,但就是要建立 /tmp/abc/hehe檔案

(1)命令返回值#?

$? 是一個(gè)特殊變量,用來獲取上一個(gè)命令的退出狀態(tài),或者上一個(gè)函數(shù)的返回值。所謂退出狀態(tài),就是上一個(gè)命令執(zhí)行后的返回結(jié)果。退出狀態(tài)是一個(gè)數(shù)字,一般情況下,大部分命令執(zhí)行成功會(huì)返回 0,失敗返回 非0。

[root@localhost tmp]# ls abc/

hehe

[root@localhost tmp]# echo $?

0

[root@localhost tmp]# ls aaaaa

ls: cannot access aaaaa: No such file or directory

[root@localhost tmp]# echo $?

2

(2)&&與||的執(zhí)行過程

command1 && command2

&&左邊的command1執(zhí)行成功(返回0表示成功)后,&&右邊的command2才能被執(zhí)行。

command1 || command2

如果||左邊的command1執(zhí)行失敗(返回非0表示失敗),就執(zhí)行&&右邊的command2,否則command2不會(huì)被執(zhí)行。

#分析ls /tmp/abc || mkdir /tmp/abc && touch /tmp/abc/hehe的執(zhí)行過程如下:

總結(jié)

以上是生活随笔為你收集整理的linux脚本 逻辑运算,Linux-shell-逻辑运算和;的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。