(續四)shell中一些特殊字元號的用法總結

2021-08-25 21:27:40 字數 1786 閱讀 1551

1、{} 大括號:

eg: ls my_s

這條命令相當於如下兩個命令的組合:

ls my_fingers ; ls my_toes

eg: mkdir -

我們得到 usera-home, usera-bin, usera-data, userb-home, userb-bin, userb-data,

userc-home, userc-bin, userc-data,這幾個目錄

可用於語句塊的構造,命令之間可用回車隔開

2、 中括號:允許匹配方括號中任何乙個單個字元

eg: ls /[eh][to][cm]*

相當於執行 ls /etc 和 ls /home

常出現在流程控制中,扮演括住判斷式的作用

eg: if [ "$?" != 0 ]

then echo "executes error"

3、`command` 反引號:反引號中的指令將會被執行

eg: fdv=`date +%f`

在倒引號內的 date +%f 會被視為指令,執行的結果會帶入 fdv 變數中

4、'string' 單引號 和 "string" 雙引號:如果想在定義的變數中加入空格,就必須使用單引號或雙引號,

單、雙引號的區別在於雙引號轉義特殊字元而單引號不轉義特殊字元

eg: heyyou=home

echo '$heyyou'

# we get $heyyou

eg: heyyou=home

echo "$heyyou"

# we get home

5、$#:它的作用是告訴你引用變數的總數量是多少

6、$$:它的作用是告訴你shell指令碼的程序號

7、$1、$2、$3……$、$、$…… :表示指令碼的各個引數

8、$@:列出所有的引數,各引數用空格隔開

9、and列表 statement1 && statement2 && statement3 && ……:只有在前面所有的命令都執行成功的

情況下才執行後一條命令

10、or列表 statement1 || statement2 || statement3 || ……:允許執行一系列命令直到有一條命令

成功為止,其後所有命令將不再被執行

11、[ condition ] && command for true || command for false:當條件為真時,執行command

for true ,當條件為假時,執行command for false

12、: 冒號:內建指令,但返回值為0

eg: :

echo $?

#we get 0

while:實現乙個無限迴圈

13、; 分號:在 shell 中,擔任"連續指令"功能的符號就是"分號"

eg:cd ~/backup ; mkdir startup ; cp ~/.* startup/.

14、~:代表使用者的 home 目錄

15、# 井號:表示符號後面的是註解文字,不會被執行

16、/ 倒斜線:放在指令前,有取消 aliases 的作用;放在特殊符號前,則該特殊符號的作用消失;放在指令

的最末端,表示指令連線下一行

17、! 驚嘆號:通常它代表反邏輯的作用,譬如條件偵測中,用 != 來代表"不等於"

18、* 星號:在檔名擴充套件上,她用來代表任何字元

19、** 次方運算:兩個星號在運算時代表 "次方" 的意思

eg:let "sus=2**3"

echo "sus = $sus"

# sus = 8

shell指令碼中一些特殊符號

1 大括號 用法一 萬用字元擴充套件 eg ls my s 這條命令相當於如下命令的組合 ls my fingers my toes eg mkdir 我們將得到 usera home,usera bin,usera data,userb home,userb bin,userb data,user...

shell指令碼中一些特殊符號

1 大括號 用法一 萬用字元擴充套件 eg ls my s 這條命令相當於如下命令的組合 ls my fingers my toes eg mkdir 我們將得到 usera home,usera bin,usera data,userb home,userb bin,userb data,user...

shell指令碼中一些特殊符號

1 大括號 用法一 萬用字元擴充套件 eg ls my s 這條命令相當於如下命令的組合 ls my fingers my toes eg mkdir 我們將得到 usera home,usera bin,usera data,userb home,userb bin,userb data,user...