echo *和echo $ a0 *之间有什么区别,其中$ a是变量?为什么两个命令的输出都相同?

时间:2016-07-22 09:00:05

标签: unix

假设我有一个变量a = 2。当我运行echo $ a0 *时,它给出与echo *

相同的输出

1 个答案:

答案 0 :(得分:0)

a0 被shell 而不是 视为变量名。由于没有设置变量a0,因此没有赋值。< / p>

所以 echo $ a0 * 扩展为 echo * ,*将被shell扩展为“当前目录中的文件名列表”。然后这个字符串由echo打印。

通过设置变量 a0 = 2 来检查您的命令 echo $ a0 * ,它会输出 2 * 。 使用 echo $ {a} 0 * 更改您的代码,以使您的预期输出为: echo 20 *