shell符號解釋

2022-04-18 14:37:10 字數 1465 閱讀 4562

#符號詳解

() 在子shell中執行

(a=1);echo $a,結果是空,因為a=1不是在當前shell中執行的(a=1);(echo $a)也是空的

小技巧:(cd $path, do something) 可以讓不切換當前目錄而在其它目錄幹點別的事兒~

() 還有個功能是陣列的賦值:比如a=(1 3 5),那麼$=1;$=3;$=5,需要注意的是,下標是從0開始的。

(()) 表示式計算

a=1;((a++));echo $a,這時a就是2了。

<() 和 >() 程序代入,可以把命令的執行結果當成檔案一樣讀入

比如comm前一般需要sort,那就可以這樣comm <(sort 1.lst) <(sort 2.lst)

或者是paste <(cut -t2 file1) <(cut -t1 file1),和管道差不多,但是支援多個輸入。

$() $(cmd) 執行cmd的結果

比如cmd是echo ls,那麼就是執行ls,比如file $(which bash),which bash的結果是/bin/bash,

所以file $(which bash)等於file /bin/bash。如果你$(ls),而且你的當前目錄下只有a b兩個檔案,

那麼就是執行a b,然後系統會提示,命令沒找到。$() 基本和 `` 等價。

$(()) 表示式擴充套件,

和(())很相似,但是這個是有點不同,$(())不能直接$((b++)),例如:b=1;echo $((++b))

這時b等於2,顯示的也是2,b=1; echo $((b++))這時b等於2,顯示的是1.

和 , 就是 test,和都是條件表示式,不過有比高的容錯性, [ -a|-o] [[ && | || ]]

如果a為空,那麼[ $a -eq 0 ]會報錯,但是[[ $a -eq 0 ]]不會,所以一般都會使用或者是

[ "$a" -eq 0 ],支援的功能也比 多,比如[[ aaa =~ a ]], 還有一種用途,

如果你的當前目錄下有a1-a9九個檔案,你可以用a[1-9]來替代這九個檔案。

有點需要注意,你不能用a[1-20]來代替a1- a20,必須要a[1-9] a1[0-9] a20。

但是需要注意的是 數字進製轉換的坑~

$ 是 $(()) 的過去形式,現在已經不建議使用。

就是1-30,或者是/bin/表示/bin/和/sbin/,ab表示abc、abd、abe,

小技巧:檔案備份:cp a.sh

而 的作用是定義乙個命令組,一般用在單行的條件表示式中:

[[ 1 -eq 2 ]] && echo true ||

其實 shell 函式的語法也是它的變體:

a() && a 1

${} 變數的parameter expansion,

用法很多,最基本的 $1,防止變數擴充套件衝突,具體可以檢視man bash

shell輸出輸入流常用符號解釋

追加 覆蓋 把前面的儲存位置設定成後面的儲存位置 p.s.當然還有反的 意思就是方向不一樣啦 往後追加變成往前追加 這就不重複寫了 0 標準輸入 1 標準輸出 2 標準錯誤 例子 ls usr tmp 2 err.file 把命令所產生的錯誤寫入到err.file檔案中 如果不存在則建立 如果存在則...

全部符號解釋

全部符號解釋 字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開始位置。如果設定了 regexp 物件的 multiline 屬性,也匹配 n 或 r 之後的位置。匹...

常用符號的解釋

1.吞吐量和頻寬 吞吐量是指對網路 裝置 埠 虛電路或其他設施,單位時間內成功地傳送資料的數量 以位元 位元組 分組等測量 通常用來表示系統的測試效能。頻寬的單位和吞吐量相同,但是頻寬用來指最大傳輸速率,因此由一段頻寬為10mbps的鏈路連線的一對節點可能只達到2mbps的吞吐量。2.rmse ro...