繁体   English   中英

在命令中使用双引号将其分配给带双引号的变量 bash

[英]Using double quotes in a command assigning it in a variable with double quotes bash

dir="$(find -L "${1:-.}" -mindepth 1 -type d 2>/dev/null|fzf -0)"

为什么即使在 bash 中未指定引用结束它也能工作。这应该显示错误但工作完美。为什么?

以前我试过dir="$(find -L \"${1:-.}\" -mindepth 1 -type d 2>/dev/null|fzf -0)"但它失败了。

$(...)建立一个新的引用上下文。 $(之后,下一个"开盘价,而不是与$(之前的开盘价配对的收盘价。

由于整个右侧是单个命令替换,因此您根本不需要外部引号,因为 RHS 不受分词或路径名扩展的影响,这是您要引用的两个原因它。

dir=$(find -L "${1:-.}" -mindepth 1 -type d 2>/dev/null | fzf -0)

足够了。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM