shell腳本中字元串變數的判斷
❶ shell 如何判斷一個變數是數字還是字元串
1、可以藉助於grep命令,結合正則表達式,整數是有[0-9]這10個數字組成,如果字串中有不是這10個數字的字元即表示不是整數,用正則表達式表示為[^0-9]。
2、數字的概念很廣,比如正數、負數、分數、百分數、指數等等,這個可以藉助於sed命令,過濾掉類似的符號比如正數+、負數-、百分數%。
3、結合上面兩點,編寫代碼如下:
while((1));
do
read-p"inputvalue:"var;
if[[$var==q||$var==Q]];then
exit;
fi
echo"$var"|sed's/.|-|+|%|^//g'|grep[^0-9]>/dev/null&&echo"$varisnotnumber"||echo"$varisnumber"
done;
4、執行效果如下:
❷ 怎麼用shell腳本判斷一個字元串中包含某個單詞
❸ shell腳本中,怎樣比較第一個參數是否與某字元串匹配
if test 「$1」 = "delete"
then
......
fi
第一個參數用 $1 來取得。
❹ shell 判斷變數中是否包含某個字元串
比如變數是str
str="this is a string"
要想在判斷str中是否含有"this"這個字元串,下面的語句是可行的
[[ $str =~ "this" ]] && echo "\$str contains this"
[[ $str =~ "that" ]] || echo "\$str does NOT contain this"
其實這里就是用到了"[[" 判斷命令和 "=~"正則式匹配符號
❺ shell中怎麼取字元串的變數的其中的一個字元
比如變數是str str="this is a string" 要想在判斷str中是否含有"this"這個字元串,下面的語句是
❻ shell腳本判斷字元串等於3或者99的輸出那一行
可以使用 if-elif-else 語法來寫多條件語句。
1、首先要理解if-else的基本用法,if條件+then操作+else操作+fi閉合,書寫方法如下:
❼ shell的if命令如何判斷一個文件中所含指定字元串
1、字元串判斷
1)str1 = str2當兩個串有相同內容、長度時為真 ;
2)str1 != str2 當串str1和str2不等時為真 ;
3)-n str1 當串的長度大於0時為真(串非空) ;
4)-z str1 當串的長度為0時為真(空串) ;
5)str1 當串str1為非空時為真。
2、數字的判斷
1)int1 -eq int2兩數相等為真;
2)int1 -ne int2兩數不等為真;
3)int1 -gt int2int1大於int2為真;
4)int1 -ge int2int1大於等於int2為真;
5)int1 -lt int2int1小於int2為真;
6)int1 -le int2int1小於等於int2為真。
3、文件的判斷
1)-r file用戶可讀為真;
2)-w file用戶可寫為真;
3)-x file用戶可執行為真;
4)-f file文件為正規文件為真;
5)-d file文件為目錄為真;
6)-c file文件為字元特殊文件為真;
7)-b file文件為塊特殊文件為真;
8)-s file文件大小非0時為真;
9)-t file當文件描述符(默認為1)指定的設備為終端時為真。
❽ 怎麼用shell腳本語言,判斷輸入的字元串是否包含字母或者數字
read-p"請輸入一個字元串"str
ifecho"$str"|grep"[a-zA-Z]">/dev/null&&echo"$str"|grep"[0-9]">/dev/null
then
echo"yes"
else
echo"no"
fi
❾ shell如何判斷兩個含特殊字元的字元串變數是否相等
把其他程序的返回重定向到臨時文件。
用命令cmp比較臨時文件。(cmp -s "$file1" "$file2")
測試cmp的退出碼。
❿ shell腳本判斷字元串是否包含某個字元
方法一:利用grep查找
strA="long string"strB="string"result=$(echo $strA | grep "${strB}")if [[ "$result" != "" ]]then echo "包含"else echo "不包含"fi
方法二:利用字元串運算符 《linux就該這么學》 一起學習linux
strA="helloworld"strB="low"if [[ $strA =~ $strB ]]then echo "包含"else echo "不包含"fi
方法三:利用通配符
A="helloworld"B="low"if [[ $A == *$B* ]]then echo "包含"else echo "不包含"fi