1樓:
每個if語句都要用fi結束,而且是每一個if都要對應一個fi。
整個if語句用fi閉合起來才算完整,書寫時if和fi要垂直對齊以方便檢視。
格式舉例:
if condition
then
command1
command2
fi
condition是判斷條件,如果 condition 成立(返回「真」),那麼 then 後邊的語句將會被執行;如果 condition 不成立(返回「假」),那麼不會執行任何語句。最後必須以fi來閉合,fi 就是 if 倒過來拼寫,即使有多條語句也不需要用包圍起來。
擴充套件資料
shell if多條件的格式用法介紹
shell 支援任意數目的分支,當分支比較多時,可以使用 if elif else 結構,它的格式為:
if condition1
then
statement1
elif condition2
then
statement2
elif condition3
then
statement3
else
statementn
fi注意,if 和 elif 後邊都得跟著 then。整條語句的執行邏輯為:
如果 condition1 成立,那麼就執行 if 後邊的 statement1;如果 condition1 不成立,那麼繼續執行 elif,判斷 condition2。
如果 condition2 成立,那麼就執行 statement2;如果 condition2 不成立,那麼繼續執行後邊的 elif,判斷 condition3。
如果 condition3 成立,那麼就執行 statement3;如果 condition3 不成立,那麼繼續執行後邊的 elif。
如果所有的 if 和 elif 判斷都不成立,就進入最後的 else,執行 statementn。
2樓:
是的, 用fi表示if語句塊的結束。
3樓:匿名使用者
是的,每個if語句都要用fi結束,其應用格式如下:
if 條件
then
command1
[else
command2] #中括號表示else語句可以沒有fi #別忘了這個結尾if語句忘了結尾fi,在執行時報錯如下:
test.sh: line xx: syntax error: unexpected end of fi
以上語句的意思是當"條件"的結果為真值時,進入then後面的語句command1,否則執行else語句中command2。執行完command 或 沒有else語句,命令就走到fi結束該if語句
4樓:一米一度
肯定啊必須成對出現
iffi
linux shell 有幾個if條件有幾個fi
5樓:鏡子裡的靈魂
對的,有幾個if就有幾個fi,整個if語句才完整的合併起來,書寫時if和fi規格對齊方便檢視
6樓:google也知道
有幾個 if 就對應有幾個 fi
if [ $? -ne 0 ];then 是什麼意思
7樓:肥仙女
$?表示上一條命zhidao令返回值,$0表示第一個引數,-ne表示不等於。
這是unix的shell程式設計語句,如果上一條命令執行度後的結束**不是0則執行下面的命令,知道fi行之前。
如果上一條命令成功執行,返回0,否則返回1. [$? -ne 0] 表示如果$?的值不等回於0,則上一條答命令沒有執行。
此處應該是 ping -c 1 -w 2 $router >/dev/null 2>&1 執行失敗。
8樓:陽光上的橋
這是unix的shell程式設計語句,意思是如果上一條命令執行後的結束**不是0則執行下面的命令,知道fi行之前,例子:
who am i | grep root
if [ $? -ne 0 ]
then
echo 'hello'fi
9樓:她是我的小太陽
$# 表示提供到shell指令碼或者函式的引數總數。
$0 表示第一個引數。
-ne 表示不等於。
這是unix的shell程式設計語句,如果上一條命令執行後的結束**不是0則執行下面的命令,知道fi行之前,例子:
who am i | grep root
if [ $? -ne 0 ]
then
echo 'hello'
fi另外:
整數比較
-eq 等於,如:if ["$a" -eq "$b" ]-ne 不等於,如:if ["$a" -ne "$b" ]-gt 大於,如:
if ["$a" -gt "$b" ]-ge 大於等於,如:if ["$a" -ge "$b" ]-lt 小於,如:if ["$a" -lt "$b" ]-le 小於等於,如:
if ["$a" -le "$b" ]
< 小於(需要雙括號),如:(("$a" < "$b"))<= 小於等於(需要雙括號),如:(("$a" <= "$b"))> 大於(需要雙括號),如:
(("$a" > "$b"))>= 大於等於(需要雙括號),如:(("$a" >= "$b"))
10樓:匿名使用者
是正規表示式?el語言?
shell 中 if[x$1 = x];then 什麼意思
11樓:匿名使用者
(命令列第一個引數來) $1 如果只等如x, 那就是自變數沒有內容,是空變數, 也
是用來測試命令列上有沒有引數,例如
user@minix-nb:~$ cat a#! /bin/bash
if [ x$1 = x ]
then
echo "the first argu is empty"
else
echo "the first argu is $1"
fiuser@minix-nb:~$ ./athe first argu is emptyuser@minix-nb:
~$ ./a 123the first argu is 123user@minix-nb:~$
這樣 ok? :)
linux bourne shell編譯出錯:syntax error: end of file unexpected (expecting "fi") 15
12樓:匿名使用者
if [ $person =~ root ]
改成if [ $person == root ]
13樓:融火
finis是什麼?會不會把「let me know if you」裡面的if當成語句了。
14樓:匿名使用者
有幾點需要看看:
1、 if [ $person =~ root ] -------------這是要表示什麼?是說明如果不等於root?
2、 cat <<-finis ----------- 結束時卻是 finis ,好像沒匹配上
3、for 迴圈本身就會去遍歷全部內容,感覺你加 shift ,不知道意義何在
為什麼好多軟體都要在Linux上程式設計
windows或linux都是一樣的,但有的客戶為了節約成本選擇linux,windows的維護費用很高,因為公司不像個人,不好隨便用盜版.對於linux,雖然可能要配專人維護,但大多數客戶並不需要這麼做,所以linux在這方面幾乎是沒有成本的。比如商業伺服器,如果用windows server是不...
每個成功的人都要戰勝自己的心理嗎
沒有一個人的人生是一帆風順的 只要努力就精彩!遇到任何事情要樂觀對待 保持一顆平常心。只要謹記 這一秒不放棄,下一秒有奇蹟 人生難免跌倒和等候 要勇敢的抬頭 陽光總在風雨後 我給您意見,您看行嗎?1.用心另眼看世界吧,這世上不是每個人都很順利,只是看自己怎麼解決,比如你走路的時候被人撞了,別人給你道...
每個人都帶有面具,每個人都要帶著面具生活,為什麼?
人都有面具,心理學上有 人格面具 的說法 也就是在社會中,人所表現出來的,肯定不全是自發的自己,而有一部分是順應別人的期望 社會的看法等。人格面具對人順利的適應社會,是必須的。人格你知道是什麼吧?簡單的說,也可以認為是一個人處事接物的行為習慣模式。我們生活在社會中,行為習慣模式肯定要有面具的成分的,...