fi 是if語句的固定格式,shell裡面有各種循環,都有固定的格式,個人理解是告訴計算機,這個循環語句到此,類似case循環一esac結尾一樣。
B. linux shell if語句中~是什麼意思
if為判斷語句,判斷某個東西是否達到設定的條件。
1,格式為:
if語句格式
if條件
then
Command
else
Command
fi別忘了這個結尾
2,if的三種條件表達式:
ifcommandthen
if函數then命令執行成功,等於返回0(比如grep,找到匹配)執行失敗,返回非0(grep,沒找到匹配)
if[expression_r_r_r]then表達式結果為真,則返回0,if把0值引向then
iftestexpression_r_r_rthen表達式結果為假,則返回非0,if把非0值引向then
C. 在linux shell中if語法的使用不知道錯在哪裡
if [ 1 < 2 ]; then數值不是用「<」符號比較,應該用-lt 其它的還有:-eq 等於,等同於==-ne 不等於,等同於<>-gt 大於,等同於>-lt 小於,等同於< -ge 大於等於,等同於>=-le 小於等於,等同於<=
D. Linux shell編程,這個命令if [ "$pid" ]; then...。什麼時候if條件判斷為true和false呢
只有當pid為空時,if條件才會為false。如果pid是程序獲取的進程號,那麼就是當進程存在時(pid不為空)為true,當進程不存在時(pid為空)為false。
1、pid=""
if條件為false,如下面輸出2:
pid=""
if["$pid"]
then
echo"1"
else
echo"2"
fi
2、pid=任何非空值
if條件為true,如下面輸出1:
pid="0"
if["$pid"]
then
echo"1"
else
echo"2"
fi
希望能夠幫助到你,你的好評是我前進的動力,謝謝!
E. 如何在linux shell中if表達語句
如果僅僅是在ABC 後運行 ls abc.txt
那你讓它們先後運行就是了,不需要if:
ABC; ls abc.txt
或者:
ABC
ls abc.txt
if只有在下列情況下是必要的:
1. ABC 成功,返回0時運行 ls abc.txt
ABC && ls abc.txt
2. ABC 失敗,返回非0時運行 ls abc.txt
ABC || ls abc.txt
當然,也有 可能我的理解 有問題,那就抱歉了!
F. Linux shell if語句
先談$這個玩意,很有意思, 很多命令不帶返回值
也就是說執行完了就完了,沒有任何反饋,你也不知道執行對了還是錯了
舉個例子
test 2 -gt 1 (判斷2是否大於一)
如果直接執行,無返回值
執行完之後,再執行
echo $?
看看,它就會說
0
0代表執行完畢,沒有錯誤
不信你把這個表達式換成
test 2 -gt 3
再
echo $?
他就會顯示
1
非零即是錯誤。
順帶看看test的其它比較用法
test int1 -eq int2 判斷是否相等
test int1 -ne int2 判斷是否不等
test int1 -lt int2 判斷是否小於
test int1 -le int2 判斷是否不小於
test int1 -gt int2 判斷是否大於
test int1 -ge int2 判斷是否不大於
test判斷邏輯表達式
test 條件1 -a 條件2 條件一和2全部成立
test 條件1 -o 條件2 條件1或2成立一個即可
shell腳本下真假不是由整數決定的,
而必須進行了某個測試,例如-eq -d等;
也就是說一個表達式,無論是數字、字元串,test的結果都是true,例如
S=0
test $S
無論S取值什麼都是true
但是如果 test $S -eq $S2,即用到了test所支持的表達式有了真假
最後,test也是一個程序,當他test的內容是true時它返回值是0,也就是你echo $?的結果
linux下的真假與linux下shell中的真假,分清楚了就ok。其實沒有什麼難的。
在linux下c編程中if(i)如果i=0,是不會執行。他也是先判斷是不是為真,0為假,非0為真。
G. linux shell ifyongfa
-f file文件存在為真
例子:
if [ -f "\a.txt ]
then
echo "file exist"
else
echo " not exist"
fi
H. linux shell 腳本中if語句的用法 在腳本中使用if if[! -w 「$logfile」 ] 為什
if[!-w"$logfile"]
thenecho"notwriteable"
echo"notwriteableagain"
fi
注意空格,shell裡面有的地方必須有空格,有的地方必須沒有空格。[ ]前後都要有空格
I. 求linux shell 中if的寫法
主要是格式問題:
if [[ $jg == false ]]; then
echo -e "\033[41;37m $sj $jg \033[5;m"
elif [[ $jg != false ]]; then
echo -e "\033[42;37m $sj $jg \033[1;m"
fi
注意中間的空格,假如是字元串匹配,最好加上引號。