![變數中的美元符號](https://rvso.com/image/1618366/%E8%AE%8A%E6%95%B8%E4%B8%AD%E7%9A%84%E7%BE%8E%E5%85%83%E7%AC%A6%E8%99%9F.png)
親愛的,有人可以解釋一下當我 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. 等等。