在 Bash 中,为什么 VAR="*" 在回显时会给出该目录中的文件列表?

Ala*_*ain 2 bash crontab


我一直致力于在 Bash 脚本中以编程方式设置 cron 作业。
在其中我有这样一行:

JOB="00 12 * * * sh dosomething.sh"

我注意到如果我回应了 var $JOB,它包含目录的文件吗?

有没有办法将 * 符号作为普通字符存储在 var 中?

谢谢,

Dar*_*ght 5

你需要引用变量,例如当你回应它时,像这样:

JOB="00 12 * * * sh dosomething.sh"
echo "$JOB"
Run Code Online (Sandbox Code Playgroud)

参考:如何在 bash 中转义通配符/星号?