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
這部分我是看的《Linux就該這么學》這本書籍,你有興趣也可以好好看看這本書,講的非常詳細。
Linux的if語句問題
腳本 里 -a是正則表達式的&&; ,即全部條件成立才成立,只要第一個條件不成立后面的都不會執行,\( $1 =='q' -a $1 =='Q' -a $1 =='Quit' -a $1 == 'quit' \),你每次輸入一個Q/Quit/q/quit,都只是符合其中一個條件,故這個語句值為假,然后!是當if [ ! **** ]后面的****為假時執行,即會直接輸出“NOT Quiting。.” 。
-o 是只要有一個條件成立,全部語句就成立,當你輸入Q/Quit/q/quit時,if 里面的 \( $1 =='q' -o $1 =='Q' -o $1 =='Quit' -o $1 == 'quit' \) 就是為真,前面再加上一個!,就是 假,故此時執行else后面的語句,于是輸出結果是Unknown Argument。
只要知道!是取反就可以了,講的不好見諒。
求linux下if的一個判斷語句
# *# chmod 755 *--OK?var1 =`ps -ef |grep dtsvr|grep -v grep|awk '{print $8}'|wc -l`var2 =`ps -ef |grep zjh|grep -v grep|awk '{print $8}'|wc -l`var3 = var1+var2if [var3 -eq 10]; then echo "Running。
"else echo "Looks like time for overtime :-("fi。
求linux下if的一個判斷語句
# *
# chmod 755 *--OK?
var1 =`ps -ef |grep dtsvr|grep -v grep|awk '{print $8}'|wc -l`
var2 =`ps -ef |grep zjh|grep -v grep|awk '{print $8}'|wc -l`
var3 = var1+var2
if [var3 -eq 10]; then
echo "Running。"
else
echo "Looks like time for overtime :-("
fi
linux的if語句和條件測試語句編一個小程序,請懂得大神回答一下,萬
#!/bin/bash
echo ******************************
echo 1 Copy
echo 2 Delete
echo 3 Bakcup
echo 4 Quit
echo ******************************
read SELECT
echo you selection is $SELECT
echo ******************************
echo please input the path
read PATH
if [ -d $PATH ]
then
echo path correct!
else
echo it's not path, please try it again.
exit
fi
寫的比較簡陋,你看下
shell腳本中的if中多條件語句如何寫
可以使用 if-elif-else 語法來寫多條件語句。
1、首先要理解if-else的基本用法,if條件+then操作+else操作+fi閉合,書寫方法如下: 2、if -elif-else 語法的具體格式--if單條件多分支,書寫方法如下: 3、實例 - if單條件多分支,這個實例的輸出結果是:a 小于 b。 4、實例 - if多條件多分支,這個實例輸出結果是:a 等于 b,或 a小于10。
擴展資料 1、shell語法注意事項 shell的if語法和C語言等高級語言非常相似,唯一需要注意的地方就是shell的if語句對空格方面的要求比較嚴格,如果在需要空格的地方沒有打上空格,就會報錯。 如if [ 1 == 1 ];then echo "abc";fi中如果在少寫了if后面的空格就報錯: 2、 shell語法中[[ ]]和[ ]的主要區別 (1) [ ] 實際上是bash 中 test 命令的簡寫。
即所有的 [ expr ] 等于 test expr。對 test 命令來說, 用 -eq 要進行數字比較,而你此時傳入字符串,就報錯了。
(2) [[ ]] 是內置在shell中的一個命令,它比test強大的多。支持字符串的模式匹配(使用=~操作符時甚至支持shell的正則表達式)。
邏輯組合可以不使用test的-a,-o而使用&& ||。
Linux的if語句問題
腳本 里 -a是正則表達式的&& ,即全部條件成立才成立,只要第一個條件不成立后面的都不會執行,\( $1 =='q' -a $1 =='Q' -a $1 =='Quit' -a $1 == 'quit' \),你每次輸入一個Q/Quit/q/quit,都只是符合其中一個條件,故這個語句值為假,然后!是當if [ ! **** ]后面的****為假時執行,即會直接輸出“NOT Quiting。
.” 。-o 是只要有一個條件成立,全部語句就成立,當你輸入Q/Quit/q/quit時,if 里面的 \( $1 =='q' -o $1 =='Q' -o $1 =='Quit' -o $1 == 'quit' \) 就是為真,前面再加上一個!,就是 假,故此時執行else后面的語句,于是輸出結果是Unknown Argument。
只要知道!是取反就可以了,講的不好見諒。