㈠ linux 下shell中if的參數
文件表達式
-e filename 如果 filename存在,則為真
-d filename 如果 filename為目錄,則為真
-f filename 如果 filename為常規文件,則為真
-L filename 如果 filename為符號鏈接,則為真
-r filename 如果 filename可讀,則為真
-w filename 如果 filename可寫,則為真
-x filename 如果 filename可執行,則為真
-s filename 如果文件長度不為0,則為真
-h filename 如果文件是軟鏈接,則為真
filename1 -nt filename2 如果 filename1比 filename2新,則為真。
filename1 -ot filename2 如果 filename1比 filename2舊,則為真。
整數變數表達式
-eq 等於
-ne 不等於
-gt 大於
-ge 大於等於
-lt 小於
-le 小於等於
字元串變數表達式
If [ b ] 如果string1等於string2,則為真
字元串允許使用賦值號做等號
if [ string2 ] 如果string1不等於string2,則為真
if [ -n string ] 如果string 為空,則為真
if [ $sting ] 如果string 非空,返回0 (和-n類似)
if [ ! 表達式 ]
if [ ! -d num
if [ 表達式1 –a 表達式2 ]
if [ 表達式1 –o 表達式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
希望能夠幫助到你,你的好評是我前進的動力,謝謝!
㈢ linux裡面if [ 「result」 != 「 「 ]判斷作用是什麼
題主你好,
先說作用再分析.
作用: 判斷 != 兩邊的字元串是否不相等, 即判斷"result"還" "是否不相等.
但是光說作用了,其實對於實際使用還是沒有太大幫助.
-----
分析:
截圖中紅框框選的就是本題中用到的!=,用來判斷兩個字元串是否不相等.
=====
希望可以幫到題主, 歡迎追問.
㈣ Linux中if-else條件判斷語句
在shell中的條件判斷語句格式為:
其中elif和else不是必須的,如果只需判斷一次,那麼if...fi即可。值得注意的是if後面中括弧[]中的語句[的後面和]的前面必須要有空格。
下面通過判斷大小和文件是否存在看一下判斷語句的用法:
-gt 大於 (greater than);
-lt 小於(less than);
-eq 等於(equal);
-ne 不等於(not equal);
-ge 大於等於(greater equal);
-le 小於等於(less equal)。
㈤ linux shell編程 if判斷語句的判定條件
#!/bin/bash
a=$(grep '>' file | wc -l )
if [ $a = 1 ];then
要執行的語句
fi
㈥ linux中 if [ $a = $b ]這條指令代表什麼意思
准確來說是判斷變數的值相等
shell腳本語言不是像C那樣的強類型語言(數據類型分得很細), 基本上值是以字元串存儲的,也支持整數
$a=$b 可以認為是判斷 字元串值相等
㈦ 每天三分鍾搞定linux shell腳本10 字元串相關的if判斷
字元串比較包括
注意 :這里的符號要 轉義 ,否則變成了重定向了。
運行結果:
注意 :上面的 等號左右兩側 , 中括弧內側 一定要有空格
運行結果:
以上的例子,說明 小寫字母排在字典的後面 (類似於ascii的大小)。
sort 可以對字元串排序,sort 命令會把小寫字母放在前面 。
運行結果:
注意上面的 中括弧內側 一定要有空格。
注意 :有時候想在字元串比較的時候使用 正則表達式 ,可以使用 雙方括弧 ,如:
運行如下:
注意:上面的 雙等號左右兩側,中括弧內側 一定要有空格
㈧ 關於linux if多個判斷問題
1 = 1 -a 2 = 2 -a $i = 2
表達式中,=也要和數值空格分開,不然會把 1=1這種當成一個字元串處理
㈨ linux中「if [ -f $home/$1]的」含義是什麼
含義:
1、if 條件判斷關鍵字。
2、[ ] 語法要求。
3、-f 文件比較運算符,如果 filename為常規文件,則為真 。
4、$home 取變數的值,如果.sh文件裡面沒有該就是則會取用戶系統變數!你可以在終端中執行一下 echo $home 看看是什麼路徑。
5、$1 取輸入的第一個參數.例: sh xxx.sh 111 那麼此時 $1的值就是 111。
㈩ linux if判斷是不是數字
## 方法1
a=1234;echo "$a"|[ -n "`sed -n '/^[0-9][0-9]*$/p'`" ] && echo string a is numbers
第一個-n是shell的測試標志,對後面的串"`sed -n '/^[0-9][0-9]*$/p'`" 進行測試,如果非空,則結果為真。
sed默認會顯示所有輸入行信息的,sed 的「-n」選項是讓sed不要顯示,而只顯示我們所需要的內容:即後面的表達式所匹配的行,這是通過表達式中加入「p」命令來實現的。
/^[0-9][0-9]*$/他的含義是匹配至少由一位數字構成的行
## 方法2, 可以,不過不是bash實現的,是使用了grep的正則
#if grep '^[[:digit:]]*$' <<< "$1";then
# echo "$1 is number."
#else
# echo 'no.'
#fi
## 方法3
#if [ "$1" -gt 0 ] 2>/dev/null ;then
# echo "$1 is number."
#else
# echo 'no.'
#fi
## 方法4,case
#case "$1" in
# [1-9][0-9]*)
# echo "$1 is number."
# ;;
# *)
# ;;
#esac
## 方法5,awk
#echo $1| awk '{print($0~/^[-]?([0-9])+[.]?([0-9])+$/)?"number":"string"}'
## 方法5,awk
#if [ -n "$(echo $1| sed -n "/^[0-9]\+$/p")" ];then
# echo "$1 is number."
#else
# echo 'no.'
#fi
## 方法6,expr
expr $1 "+" 10 &> /dev/null
if [ $? -eq 0 ];then
echo "$1 is number"
else
echo "$1 not number"
fi