[英]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.