我编写了以下shell脚本以在屏幕上打印“*”,但是当我执行脚本时,它会列出脚本所在的当前目录中的所有文件和目录。有人能告诉我为什么脚本会列出当前目录中的所有文件和目录吗?
#!/bin/bash
TEST="*";
echo $TEST
答案 0 :(得分:4)
因为""
附近缺少一些$TEST
。
尝试echo "$TEST"
。
答案 1 :(得分:2)
它会打印所有文件和文件夹,因为shell(在您的情况下为bash)会在将其传递给命令之前展开*。
解决方案很简单:
#!/bin/bash
TEST="*";
echo "$TEST"