linux常見特殊符號介紹

丁少华發表於2024-06-20

${ }、$[ ]、$( )的區別

${ }
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

相關文章