- 此问题在此处已有答案**:
I just assigned a variable, but echo $variable shows something else(7个答案)
3天前关闭。
我试图捕捉命令输出到一个变量,但星号(*)字符自动转换为目录文件。
要运行的命令
secrets=$(vault read kv/data/secrets)
- 用于重新创建方案的表达式**
cronExpression=$(echo "33 * * *") && echo $cronExpression
- 预期**
cronExpression="33 * * *"
- 实际**
33 LICENSE README.md test.json LICENSE README.md test.json LICENSE README.md test.json
我尝试执行此命令的文件夹中有LICENSE README.md test.json
文件,因此每个*
都将转换为同一目录中的列表文件
1条答案
按热度按时间omqzjyyz1#
就像这样:
了解如何在shell中正确引用,这非常重要:
"双引号"包括空格/元字符和 * every * 扩展的每个文本:
"$var"
、"$(command "$var")"
、"${array[@]}"
、"a & b"
。将'single quotes'
用于代码或文字$'s: 'Costs $5 US'
、ssh host 'echo "$HOSTNAME"'
。请参见http://mywiki.wooledge.org/Quotes
http://mywiki.wooledge.org/Arguments
http://wiki.bash-hackers.org/syntax/words
when-is-double-quoting-necessary