linushellif語句中是什麼意思

2021-12-25 15:58:19 字數 5719 閱讀 5540

1樓:匿名使用者

if為判斷語句,判斷某個東西是否達到設定的條件。

1,格式為:

if 語句格式

if  條件

then

command

else

command

fi        別忘了這個結尾

2,if的三種條件表示式:

if command then

if 函式 then    命令執行成功,等於返回0 (比如grep ,找到匹配) 執行失敗,返回非0 (grep,沒找到匹配)

if [ expression_r_r_r ] then    表示式結果為真,則返回0,if把0值引向then

if test expression_r_r_r then    表示式結果為假,則返回非0,if把非0值引向then

2樓:匿名使用者

linux環境中,~一般表示當前使用者主目錄,後面一般都接著寫目錄檔案位置等等。

3樓:匿名使用者

if 中使用 ~操作符 是指支援shell正則表達。

注意 要在 [] 中使用~

4樓:匿名使用者

當前使用者的home目錄

5樓:

表正則匹配,例如:

if [[ "$date" =~ "[0-9]" ]]

6樓:匿名使用者

在詳細點你的問題。最好有插圖。

liunx 下的shell語句 if [ ! -d /$1/$2/$3/ ]是什麼意思?

7樓:yesyes科

liunx 下的shell語句 if [ ! -d /$1/$2/$3/ ]這是判斷某資料夾是否存在,$1, $2, $3都是變數,操作方法如下:

1、判斷檔案的基本格式。[ 操作符 檔案或目錄 ]。

2、判斷檔案是否存在(exist):-e。

3、判斷是否為目錄 (directory):-d。

4、判斷是否為檔案 (file):-f。

5、判斷當前使用者是否有許可權寫入(write):-w。

6、最後判斷當前使用者是否有許可權執行(excute):-x。

8樓:匿名使用者

這是判斷某資料夾是否存在

$1, $2, $3 都是變數, 這個應該好理解! 是取反, true 變成false, false變成true假設 $1, $2, $3 的值分別為 home, me. myfile,

整個語句意思是 如果 資料夾 /home/me/myfile 不存在

9樓:浦疏賢

if [ ! -d /$1/$2/$3 ] 這是判斷/$1/$2/$3這個檔案是否是目錄檔案。

! 在這裡是取反的意思,意思:如果/$1/$2/$3不是目錄的話符合條件。

$1 $2 $3 分別是第一個引數,第二個引數,第三個引數當然如果/$1/$2/$3不存在,自然也不是目錄。也是符合條件的。

shell的特殊符號太多。這個還是得看書。

以含有!的特殊符號舉例

!$ $! !number !? !! 這些都是,但還不止。

shell指令碼中 if 判斷時候-s是什麼意思

10樓:老魯漫漫說

指的是檔案大小非0時為真。

shell中怎麼判斷輸入的是否是數字:

第一種:sed格式

首先:我們先(在命令列直接輸出模擬一下,如果都正確再在shell指令碼中進行書寫。)直接echo輸出一下

echo "111asd"

第一步:思想

然後我們就要想一下我們要說用sed判斷,但是sed的最主要的功能是什麼?替換!!!當然是替換,既然是替換那麼我們能不能直接把echo輸出的數字直接替換掉,然後看這個輸出還剩下什麼呢?

如果我們剩下的空,那麼我就基本可以確定我echo輸出的就是空,如果我sed替換之後不是空,那麼我是不是就是可以認為我echo輸出的不是數字或不全是數字呢?

第二步:命令列測試:

[root@localhost shell]# echo "111asd" | sed 's#[0-9]##g' | cat -a

asd$

[root@localhost shell]# echo "111" | sed 's#[0-9]##g' | cat -a

第三步:進行shell測試

經過第二步我們很明顯就能看出來這個想法是能夠實現的。所以在shell中配合-z(zero)-n(no zero)是完全可以實現的,所以這個時候我們就可以進行指令碼的編寫測試了。

#!/bin/bash

# file name: test.sh

# version: v1.0

# author: ls

# created time : 2017-02-24 06:25:13

# description:

#互動式外部讀取

read -p "pleace input: " a1

#if進行數字判斷

if [ -z "$(echo $a1 | sed 's#[0-9]##g')" ]

then

#如果是數字輸出yes給$?一個1的返回值並退出。

echo "yes"

exit 1

else

#如果不是數字輸出no給$?一個1的返回值並退出。

echo "no"

[root@localhost shell]# sh test.sh

pleace input: 1

yes[root@localhost shell]# sh test.sh

pleace input: q1no

11樓:匿名使用者

-s file true if the file has nonzero size

判斷檔案的大小是否非0. 如果檔案存在並且大小非0,則返回true

12樓:冉易雲

-s file     檔案大小非0時為真[ -f "somefile" ] :判斷是否是一個檔案[ -x "/bin/ls" ] :判斷/bin/ls是否存在並有可執行許可權

[ -n "$var" ] :判斷$var變數是否有值[ "$a" = "$b" ] :判斷$a和$b是否相等-r file     使用者可讀為真

-w file     使用者可寫為真

-x file     使用者可執行為真

-f file     檔案為正規檔案為真-d file     檔案為目錄為真

-c file     檔案為字元特殊檔案為真-b file     檔案為塊特殊檔案為真-s file     檔案大小非0時為真-t file     當檔案描述符(預設為1)指定的裝置為終端時為真

linux shell的if語句

13樓:本思一體電腦

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-----你試試

14樓:匿名使用者

#/bin/bash

read -p "你繼續嗎?y or n:" answer

if [ "$answer" = "y" -o "$answer" = "y" ] ; then

echo "你選擇了 $answer"; #如果要顯示為你選擇了y或y則改為 echo "你選擇了y或y"

elif [ "$answer" = "n" -o "$answer" = "n" ] ; then

echo "你選擇了$answer"; #如果要顯示為你選擇了n或n則改為 echo "你選擇了n或n"

else

echo "輸入錯誤"

exitfi

15樓:匿名使用者

指令碼沒有問題,應該是你用的預設shell問題,用sh或bash執行一下試試,在指令碼第一行加上

#!/bin/sh

16樓:匿名使用者

read -p "你繼續嗎?(y/n):" ynif [ $yn == y -o $yn == y ]; thenecho "你選擇了$yn!"

elif [ $yn == n -o $yn == n ]; then

echo "你選擇了$yn!"

else

echo "輸入錯誤"

exit 1

fi主要是注意一下read的用法

shell指令碼中的if中多條件語句如何寫。

17樓:

可以使用 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而使用&& ||。

18樓:飛喵某

1、首先要理解shell中if語句的用法才能更好的理解if多條件語句的寫法,在shell中條件語句是「if-then」,if語句後面是一個命令執行結束的退出狀態碼是 0,則執行 then 部分的命令,否則then 不執行;fi是if的結束標誌:

2、if語句的巢狀使用和其他語言基本一致,直接在if中繼續使用if語句即可,巢狀的層數沒有限制,但最好不要過多的層數,這樣會讓**顯得比較混來,難以理解:

3、多個條件判斷使用「if then-elif then」,這裡和其他程式語言不同,最後可以加else也可以不加else:

19樓:大野瘦子

if [ $a = "aa" -a $b = "bb" ] || [$c = "cc" -a $d = "dd" ];

then

echo "success"fi

SQL語句中as的作用sql語句中as的作用?

有點像重新命名的意思 比如select count as num from table 這句話的意思是,table表裡面有多少條記錄,並把這個記錄的個數賦值給一個臨時變數num 到時候就可以從num中獲得記錄個數 如果不用as,是不是很難獲取記錄個數 同理,像樓上各位仁兄說的,起別名,可以這麼理解我...

mysql語句中rightdatan是什麼意思

right data,n 的意思是取右邊n個字串。另外賦給你sql總結 sql 結構化查詢語句 structured query language sql語句對大小寫不敏感 sql分兩個部分 dml,ddl dml data manipulation language 資料操作語言。ddl data...

程式設計語句中INPUT語句屬於什麼語句

在qbasic 全稱quick basic,簡稱qb 裡就有這個語句,就是輸入語句input,如版input hello qbasic是高 級語權言,但比較原始了,如果要學習基礎的話還是從c語言開始吧 如比較出名的turbo c 祝你成功 滿意請採納 c語言中的input是什麼意思 input屬於p...