当shell脚本回显“*”时,为什么它列出文件和目录?

时间:2011-11-09 10:06:02

标签: linux shell

我编写了以下shell脚本以在屏幕上打印“*”,但是当我执行脚本时,它会列出脚本所在的当前目录中的所有文件和目录。有人能告诉我为什么脚本会列出当前目录中的所有文件和目录吗?

#!/bin/bash
TEST="*";
echo $TEST

2 个答案:

答案 0 :(得分:4)

因为""附近缺少一些$TEST

尝试echo "$TEST"

答案 1 :(得分:2)

它会打印所有文件和文件夹,因为shell(在您的情况下为bash)会在将其传递给命令之前展开*。

解决方案很简单:

#!/bin/bash
TEST="*";
echo "$TEST"