當前位置:首頁 » 編程軟體 » shell編程if

shell編程if

發布時間: 2023-01-25 18:13:06

『壹』 linux shell編程 if語句無法判斷變數是否相等

(($num1 != $num2))裡面的是算術表達式
用(($num1 - $num2))
或者[ [ $num1 != $num2 ]]

『貳』 linux shell的if語句

echo "你繼續嗎?Y or N"
read ANSWER
if [ 「$ANSWER」 = 「Y」 -o 「$ANSWER」 = 「y」 ] ; then
echo "你選擇了$ANSWER";
elif [ 「$ANSWER」 = 「N」 -o 「$ANSWER」 = 「n」 ] ; then
echo "你選擇了$ANSWER";
else
echo "輸入錯誤"
exit
fi
-----你試試

『叄』 shell中IF的用法介紹

一、語法結構

二、說明

(1)[ condition ] (注意condition前後要有空格)
非空返回true,可使用$?驗證(0為true,>1為false) 如:[ hadoop ] 返回true
空返回false 如:[ ] 返回false
(2)[ condition ] && echo OK ||echo notok 可以多條件,條件滿足,執行後面的語句

三、整數比較

四、字元串比較

五、許可權判斷

六、文件系統類型判斷

實例1 特權用戶的高內存佔用查詢

案例2 遠程登錄的用戶的詳情查詢

.....

『肆』 Shell if else語句(詳解版)

最簡單的用法就是只使用 if 語句,它的語法格式為:

condition是判斷條件,如果 condition 成立(返回「真」),那麼 then 後邊的語句將會被執行;如果 condition 不成立(返回「假」),那麼不會執行任何語句。
注意,最後必須以fi來閉合,fi 就是 if 倒過來拼寫。也正是有了 fi 來結尾,所以即使有多條語句也不需要用{ }包圍起來。
如果你喜歡,也可以將 then 和 if 寫在一行:

請注意 condition 後邊的分號;,當 if 和 then 位於同一行的時候,這個分號是必須的,否則會有語法錯誤。

例如,使用 if 語句來比較兩個數字的大小:

運行結果:

如果有兩個分支,就可以使用 if else 語句,它的格式為:

如果 condition 成立,那麼 then 後邊的 statement1 語句將會被執行;否則,執行 else 後邊的 statement2 語句。

例如:

運行結果:

從運行結果可以看出,a 和 b 不相等,判斷條件不成立,所以執行了 else 後邊的語句。

Shell 支持任意數目的分支,當分支比較多時,可以使用 if elif else 結構,它的格式為:

注意,if 和 elif 後邊都得跟著 then。
整條語句的執行邏輯為:
如果 condition1 成立,那麼就執行 if 後邊的 statement1;如果 condition1 不成立,那麼繼續執行 elif,判斷 condition2。
如果 condition2 成立,那麼就執行 statement2;如果 condition2 不成立,那麼繼續執行後邊的 elif,判斷 condition3。
如果 condition3 成立,那麼就執行 statement3;如果 condition3 不成立,那麼繼續執行後邊的 elif。
如果所有的 if 和 elif 判斷都不成立,就進入最後的 else,執行 statementn。

例如,,輸入年齡,輸出對應的人生階段:

運行結果1:

運行結果2:

『伍』 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
希望能夠幫助到你,你的好評是我前進的動力,謝謝!

『陸』 shell 腳本 if 判斷多個條件

1.如果a>b且a<c

2.如果a>b或a<c

4."||"和"&&"在SHELL里可以用嗎?也就是第一個寫成if [ a>b && a<c ]也可以嗎?

可用, 但是要兩個獨立的 [ ] , [[ ]] 或 (( )) 看 1

5 -ne 比較數字 (numberic) ; != 比較字元 (string), 但後者拿來
比較數字也可,只是不是標准用法
-lt 是等同 < , 但 < 只能在 shell 的數值操作符 (( )) 或
者 邏緝操作符 [[ ]] 才可使用, -lt , -eq , -gt , -ge
-le , 這些是 test , 就是 [ ] 這個內建命令使用的條件操
作符, 數字用, = , != 字元用, == 這個該是 [[ ]] 用的,
可用來比對正規表示式, 但用在 [ ] 也可,只是不太正統用法

『柒』 Linux bash/sh/shell編程中的if語句應該怎麼寫

line="#abcmatch
BCD"
REGEXP="^[#]"
#
變數賦值不需要前綴$
if
[[
$line
=~
$REGEXP
]]
&&
[[
$line
!=
''
]];
then
#粗心
[[
]]
要配對使用
你寫成了
[[
]
[
]]
true
#shell
不能使用空的if
結構,至少要有一個命令。
可以使用true命令

echo
yes
else
echo
NO
fi
###
end
另外Bash
不支持完全的正則表達式。[[
「$line」
=~
「$REGEXP」
]]
不能達到你想要的效果。
需要使用echo
"$string"|
grep
-qP
/regexp/
Zsh
支持完整的正則表達式,
[[
「$line」
=~
「$REGEXP」
]]
能達到你想要的效果。

『捌』 Shell 中 if 語句的使用

Shell 的 if 語法 和 C 語言等高級語言非常相似,唯一需要注意的地方就是 Shell 的 if 語句對 空格 方面的要求比較嚴格( 其實 Shell 對所有語法的空格使用都比較嚴格 ),如果在需要空格的地方沒有打上空格,都會報錯。如: if [ $1 == "ip" ];then echo "abc"; fi 中少了一個空格都會報錯。另外 Shell 的 if 語句必須以 fi 作為結尾,不然同樣會報錯。
有 else 和 elif 時也一樣,需要注意空格問題,下面這個例子可以作為參考

介紹完 if 語句的基本語法後,if 還有一個值得我們注意的地方,那就是"對比"。在 C 語言等高級語言中,不管是對比字元串,還是對比整型、浮點數等等數據類型,都是使用 ==、<= 等等對比運算符就可以完成。但是在 Shell 中對比字元串和對比數字,卻是要分開兩種方式。
對比字元串只能使用 ==、<、>、!=、-z、-n 。對比字元串時,末尾一定要加上 x(或者a、b等)一個字元,因為 if [ 1 是"",這個語句會翻譯成 if [ == "ab" ] ,左邊相當於沒有東西了,會報語法錯誤。或者使用 [[ ]] ,就不需要 x 了。使用 < 或者 > 時,如果是用 [ ],需要用轉義符 "",如 >。
對比數字既能使用 -eq、-ne、-gt、-lt、-le ,也能使用 ==、<、>、!= 。其中 -eq 的意思是 equal,-ne 是 unequal,-gt 是 greater than,-ge 是 greater than or equal to,-lt 是 less than,-le 是 less than or equal to 。

if 在對比時可以使用正則表達式,如: if [[ $1 == a*a ]] (或者 if [ $1x == a*ax) 。如果使用 "" 把 a a 包圍起來, 就會變成字元 * ,而不是正則表達式的 *。

區別一:
在 [ 中使用邏輯運算符,需要使用 -a(and)或者 -o(or)。
在 [[ 中使用邏輯運算符,需要使用 && 或者 ||。

區別二:
[ 是 Shell 命令,它包圍的表達式是它的命令行參數,所以字元串比較符 > 和 < 需要轉義,否則就變成 io 重定向了。
[[ 是 Shell 關鍵字,不會做命令擴展,所以 < 和 > 不需要進行轉義。但是語法相對嚴格,如在 [ 中可以用引號括起操作符,[[ 則不行。如: if [ "-z" "ab" ] 。

區別三:
[[ 可以做算術擴展,[ 則不行。如:```if [[ 11 + 1 -eq 100 ]]''',而 '''if [ 11 + 1 -eq 100 ]''' 則會報錯。

在高級語言中,判斷文件是否存在等各種狀態都是需要調用特定的函數進行判斷。而在 Shell 中,這方面就比較方便些,只需要運算符即可。
常用的文件判斷運算符如下:

原文: https://www.cnblogs.com/matthewma/p/6995479.html

『玖』 shell腳本中的if中多條件語句如何寫。

可以使用 if-elif-else 語法來寫多條件語句。

1、首先要理解if-else的基本用法,if條件+then操作+else操作+fi閉合,書寫方法如下:

2、 shell語法中[[ ]]和[ ]的主要區別

(1) [ ] 實際上是bash 中 test 命令的簡寫。即所有的 [ expr ] 等於 test expr。
對 test 命令來說, 用 -eq 要進行數字比較,而你此時傳入字元串,就報錯了。


(2) [[ ]] 是內置在shell中的一個命令,它比test強大的多。支持字元串的模式匹配(使用=~操作符時甚至支持shell的正則表達式)。邏輯組合可以不使用test的-a,-o而使用&& ||。

熱點內容
java返回this 發布:2025-10-20 08:28:16 瀏覽:710
製作腳本網站 發布:2025-10-20 08:17:34 瀏覽:972
python中的init方法 發布:2025-10-20 08:17:33 瀏覽:681
圖案密碼什麼意思 發布:2025-10-20 08:16:56 瀏覽:834
怎麼清理微信視頻緩存 發布:2025-10-20 08:12:37 瀏覽:741
c語言編譯器怎麼看執行過程 發布:2025-10-20 08:00:32 瀏覽:1081
郵箱如何填寫發信伺服器 發布:2025-10-20 07:45:27 瀏覽:312
shell腳本入門案例 發布:2025-10-20 07:44:45 瀏覽:192
怎麼上傳照片瀏覽上傳 發布:2025-10-20 07:44:03 瀏覽:880
python股票數據獲取 發布:2025-10-20 07:39:44 瀏覽:837