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