bash - echo 输出中的三个星号插入列表?

标签 bash shell osx-elcapitan

谁能告诉我为什么会出现以下情况:

#!/bin/bash
TEST=$(echo '*** this is a test ***')
echo $TEST

...输出当前目录的列表,然后“这是一个测试”,然后是当前目录的另一个列表?

背景:我有一些输出要放入变量中,然后我想对该变量的内容执行几个不同的 grep,但是 echo 插入了所有不应该存在的额外内容。

这是在 OS X 10.11.4 上。

最佳答案

正在行动! * 在第二个回显中扩展。您必须将其加双引号以防止扩展。

echo "$TEST"

参见this相关答案

关于bash - echo 输出中的三个星号插入列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37126203/

相关文章:

linux - 为什么从 shell 脚本执行时输出不同?

linux - 未找到现有文件

bash - 在 Bash 中,如何在字符串中插入 $(...)?

mysql-error-1064 - MySQL : error on El Capitan OS after Yosemite OS update

php - 本地主机上的 ERR_EMPTY_RESPONSE 错误 - OSX 上的 AMPPS

swift - 从 OS X 上的 xcassets 加载应用程序图标

linux - Bash 脚本不能正常工作

linux - 在 ssh 中使用参数运行多个命令

Linux 按顺序显示文件

linux - 作为并行作业循环遍历文件夹中的每个脚本,