導航:首頁 > 操作系統 > linuxif條件判斷

linuxif條件判斷

發布時間:2022-12-13 17:45:43

Ⅰ 在linux中,if [ -f $home/$1]的含義

#[-f$home/$1]表示的是判斷$home/$1是不是文件,並且存在$1表示的是你執行腳本的第一個參數,下面有詳細的例子你可以練習一下!
[root@localhosttest]#pwd
/root/test
[root@localhosttest]#ls
eoopenone.sh
[root@localhosttest]#catone.sh
#!/bin/bash

#這里我假設一下$home和$1這兩個變數的值

home=root

if[-f/$home/$1];then
echo"它是文件而且存在這樣的一個文件";
else
echo"這不是一個文件,或者它不在在"
fi


[root@localhosttest]#shone.shdemo.php
它是文件而且存在這樣的一個文件
[root@localhosttest]#cd../
[root@localhost~]#pwd
/root
[root@localhost~]#ls
anaconda-ks.cfgdemo2.phpdemo.phphxb.phpinstall.loginstall.log.syslogone.shPHPExcel_1.8.0_doc.ziptest

Ⅱ linux shell編程 if判斷語句的判定條件

#!/bin/bash
a=$(grep '>' file | wc -l )
if [ $a = 1 ];then
要執行的語句
fi

Ⅲ 關於linux if多個判斷問題

1 = 1 -a 2 = 2 -a $i = 2
表達式中,=也要和數值空格分開,不然會把 1=1這種當成一個字元串處理

Ⅳ 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

Ⅳ Linux shell條件判斷if中的-a到-z的意思

[ ARG1 OP ARG2 ] 「OP」 is one of -eq, -ne, -lt, -le, -gt or -ge. These arithmetic binary operators return true if 「ARG1」 is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to 「ARG2」, respectively. 「ARG1」 and 「ARG2」 are integers.

Ⅵ Linux裡面if -s命令作用是什麼

字元串判斷

str1 = str2當兩個串有相同內容、長度時為真

str1 != str2 當串str1和str2不等時為真

-n str1 當串的長度大於0時為真(串非空)

-z str1 當串的長度為0時為真(空串)

str1 當串str1為非空時為真

2、數字的判斷

int1 -eq int2兩數相等為真

int1 -ne int2兩數不等為真

int1 -gt int2int1大於int2為真

int1 -ge int2int1大於等於int2為真

int1 -lt int2int1小於int2為真

int1 -le int2int1小於等於int2為真

3 文件的判斷

-r file用戶可讀為真

-w file用戶可寫為真

-x file用戶可執行為真

-f file文件為正規文件為真

-d file文件為目錄為真

-c file文件為字元特殊文件為真

-b file文件為塊特殊文件為真

-s file文件大小非0時為真

-t file當文件描述符(默認為1)指定的設備為終端時為真

3、復雜邏輯判斷

-a 與

-o或

! 非

EXAMPLE:

[ -a FILE ] 如果 FILE 存在則為真。

[ -b FILE ] 如果 FILE 存在且是一個塊特殊文件則為真。

[ -c FILE ] 如果 FILE 存在且是一個字特殊文件則為真。

[ -d FILE ] 如果 FILE 存在且是一個目錄則為真。

[ -e FILE ] 如果 FILE 存在則為真。

[ -f FILE ] 如果 FILE 存在且是一個普通文件則為真。

[ -g FILE ] 如果 FILE 存在且已經設置了SGID則為真。

[ -h FILE ] 如果 FILE 存在且是一個符號連接則為真。

[ -k FILE ] 如果 FILE 存在且已經設置了粘制位則為真。

[ -p FILE ] 如果 FILE 存在且是一個名字管道(F如果O)則為真。

[ -r FILE ] 如果 FILE 存在且是可讀的則為真。

[ -s FILE ] 如果 FILE 存在且大小不為0則為真。

[ -t FD ] 如果文件描述符 FD 打開且指向一個終端則為真。

[ -u FILE ] 如果 FILE 存在且設置了SUID (set user ID)則為真。

[ -w FILE ] 如果 FILE 如果 FILE 存在且是可寫的則為真。

[ -x FILE ] 如果 FILE 存在且是可執行的則為真。

[ -O FILE ] 如果 FILE 存在且屬有效用戶ID則為真。

[ -G FILE ] 如果 FILE 存在且屬有效用戶組則為真。

[ -L FILE ] 如果 FILE 存在且是一個符號連接則為真。

[ -N FILE ] 如果 FILE 存在 and has been mod如果ied since it was last read則為真。

[ -S FILE ] 如果 FILE 存在且是一個套接字則為真。

[ FILE1 -nt FILE2 ] 如果 FILE1 has beewww.028x.cn#hanged more recently than FILE2, or 如果 FILE1 exists and FILE2 does not則為真。

[ FILE1 -ot FILE2 ] 如果 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在則為真。

[ FILE1 -ef FILE2 ] 如果 FILE1 和 FILE2 指向相同的設備和節點號則為真。

[ -o OPTIONNAME ] 如果 shell選項 「OPTIONNAME」 開啟則為真。

[ -z STRING ] 「STRING」 的長度為零則為真。

[ -n STRING ] or [ STRING ] 「STRING」 的長度為非零 non-zero則為真。

[ STRING1 == STRING2 ] 如果2個字元串相同。 「=」 may be used instead of 「==」 for strict POSIX compliance則為真。

[ STRING1 != STRING2 ] 如果字元串不相等則為真。

Ⅶ 每天三分鍾搞定linux shell腳本10 字元串相關的if判斷


字元串比較包括

注意 :這里的符號要 轉義 ,否則變成了重定向了。

運行結果:

注意 :上面的 等號左右兩側 中括弧內側 一定要有空格

運行結果:

以上的例子,說明 小寫字母排在字典的後面 (類似於ascii的大小)。


sort 可以對字元串排序,sort 命令會把小寫字母放在前面


運行結果:

注意上面的 中括弧內側 一定要有空格。

注意 :有時候想在字元串比較的時候使用 正則表達式 ,可以使用 雙方括弧 ,如:

運行如下:

注意:上面的 雙等號左右兩側,中括弧內側 一定要有空格

Ⅷ 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 [ -f $home/$1]的」含義是什麼

含義:

1、if 條件判斷關鍵字。

2、[ ] 語法要求。

3、-f 文件比較運算符,如果 filename為常規文件,則為真 。

4、$home 取變數的值,如果.sh文件裡面沒有該就是則會取用戶系統變數!你可以在終端中執行一下 echo $home 看看是什麼路徑。

5、$1 取輸入的第一個參數.例: sh xxx.sh 111 那麼此時 $1的值就是 111。

Ⅹ linux裡面if [ 「result」 != 「 「 ]判斷作用是什麼

題主你好,

先說作用再分析.

作用: 判斷 != 兩邊的字元串是否不相等, 即判斷"result"" "是否不相等.

但是光說作用了,其實對於實際使用還是沒有太大幫助.

-----

分析:

截圖中紅框框選的就是本題中用到的!=,用來判斷兩個字元串是否不相等.

=====

希望可以幫到題主, 歡迎追問.

閱讀全文

與linuxif條件判斷相關的資料

熱點內容
php的基本語法 瀏覽:790
對外漢語pdf 瀏覽:516
如何用mamp本地web伺服器 瀏覽:869
如何加密自己js代碼 瀏覽:627
排列組合a與c的演算法 瀏覽:534
如何在文件夾中找到同名內容 瀏覽:786
有什麼app文字轉韓文配音 瀏覽:372
循環宏1命令 瀏覽:35
斐波那契數列矩陣演算法 瀏覽:674
公式保護後加密不了 瀏覽:82
java跳轉到jsp 瀏覽:819
327平方根演算法 瀏覽:216
win7美化命令行終端 瀏覽:797
免加密狗圖片 瀏覽:485
一隻透明的鳥是什麼app 瀏覽:817
空氣壓縮機油批發商 瀏覽:69
linuxifexist 瀏覽:4
加密tf卡拷入文件 瀏覽:399
山西php工資 瀏覽:673
福州看病預約用什麼小程序app 瀏覽:238