shell指令碼之命令代換

2021-08-03 17:55:44 字數 1132 閱讀 6399

理解「和()

反引號在

shel

l指令碼中

有獨特的

作用,凡

是被反引

號包括的

內容sh

ell會

先執行該

命令,再

將該命令

的輸出結

果代換到

當前命令

行中。所

以反引號

的作用是

命令替換

。 ()則是算數代換,在shell指令碼中,被雙括號括起來的算數命令可以被替換成算術結果。

$(())中只能用+ - * / %運算子進行算數運算,而且只能做整數運算。

調研eval命令

(1)eval命令將會首先掃瞄命令列進行所有的替換,然後再執行命令。該命令使用於那些一次掃瞄無法實現其功能的變數。該命令對變數進行兩次掃瞄。這些需要進行兩次掃瞄的變數有時候被稱為複雜變數。

(2)eval也可以用於回顯簡單變數,不一定是複雜變數。

name=zone

eval echo na

me等價

於ech

o name

(3)eval命令還可以顯示出傳遞給指令碼的最後乙個引數。

(4)eval命令可以給乙個變數乙個值

eval 「na

me=

如何執行shell指令碼

shell指令碼的字尾一般是.sh,但是因為shell是非編譯的解釋型語言,所以執行時和別的c/c++有所不同。

第一種:chmod +x test.sh 給指令碼加上執行許可權

./test.sh

第二種:/bin/bash test.sh

shell指令碼的命令代換

一 命令代換 命令代換是指先完成引號或者括號中的命令列,然後將其結果替換出來,在重新組成新的命令列。shell指令碼中用於命令列代換的一反引號 和 那麼這兩個又有什麼不同呢?執行後 表面上看起來兩個結果並沒有什麼不同,但仔細分析會發現有以下不同點。反引號 的缺點 a 它非常容易和單引號混淆 b 它會...

shell指令碼 命令代換

什麼是命令代換 命令代換簡單來說就是在shell內部巢狀多條命令,一次執行得到結果 shell的命令代換有兩種方式可以實現 來看例子 既然這兩種方式都可以進行命令代換,那麼它們有什麼區別呢?支援命令巢狀使用,而反引號是不行的 這條命令雖然沒有什麼意義,但是很好的說明了 是支援巢狀使用的 反引號比較陳...

shell指令碼之test命令(六)

bin bash 數值測試 引數 說明 eq 等於則為真 ne 不等於則為真 gt 大於則為真 ge 大於等於則為真 lt 小於則為真 le 小於等於則為真 num1 10 num2 20 if test num1 eq num2 then echo num1 和 num2 相等 else echo...