變數中的美元符號

變數中的美元符號

親愛的,有人可以解釋一下當我 echo $15 時輸出 5 的原因嗎?如果未定義 15 個變量,則不應有第二個範例中的輸出

-bash-4.2$ echo $15
5
-bash-4.2$ echo ${15}

-bash-4.2$ echo $USER
kony
-bash-4.2$
-bash-4.2$ echo ${USER}
kony

答案1

美元符號是保留的,特別是 $0、$1 等用於接受參數。您需要轉義美元符號才能列印該值或將其放在單引號中。

試試以下任一方法:

echo \$15
echo '$15'

您的命令總是會有一個輸出,因為您實際上是在說“echo 5”,因為它沒有任何價值$1被忽略。 $0 - $9 皆被系統保留用於引用參數。 echo $90將返回 0. 等等。

參考

相關內容