${ }、$[ ]、$( )的區別
${ }
Shell中使用一個已經定義過的變數,只要在變數名前面加美元符號$即可。
變數名外面的{ }是可選的,只是為了幫助直譯器識別變數的邊界。
str="java"
echo "I am $str"
echo "I am $s{str}Script"
$[]
是運算運算子,用於對整數進行數學運算
echo $[3*5] # 輸出:8
$()
Shell 支援將命令的執行結果賦值給變數,即“命令替換”,。
variable=$(command)
variable=`command` # 命令替換的另一種寫法
[ ]、[[ ]]、(())的區別
[ ]是test命令的簡寫形式,而test命令主要用於檢測某個條件是否成立。
[[ ]] 是 test 的升級版,對細節進行了最佳化,並且擴充套件了一些功能,完全可以取代[ ]。
(())是一個數學計算命令,用於對整數進行數學運算,比如((a=10+66))
。
test命令用於檢查檔案型別和比較值,並且根據表示式的值來確定狀態並退出。
所以如果只執行test命令,是不會有任何輸出的,
可以使用echo $?來檢視上次執的狀態碼(0表示成功,其他值則表示不成功)。
它經常和判讀語句f..then一起使用,如果在終端輸出列印,則經常和管道命令&&和||一起使用,如:
test 1 -ge 2 && echo "yes" || echo "no"
no
參考: https://blog.csdn.net/oqqHuTu12345678/article/details/129257269