变量中的美元符号

变量中的美元符号

亲爱的,有人能解释一下当我 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。等等。

参考

相关内容