现在是解决困扰我多年的难题的时候了...
我不时遇到这个问题,并认为这是要走的路:
$(comm "$(arg)")
并且认为我的观点得到了经验的大力支持。但是我不太确定了。Shellcheck也无法下定决心。两者都是:
"$(dirname $0)"/stop.bash
^-- SC2086: Double quote to prevent globbing and word splitting.
和:
$(dirname "$0")/stop.bash
^-- SC2046: Quote this to prevent word splitting.
背后的逻辑是什么?
(这是Shellcheck 0.4.4版,顺便说一句。)
"$(dirname "$0")"/stop.bash
?似乎有效...这是什么故事?
shell_level_1 $(shell_level_2) shell_level_1
::当您$(....)
进入shell时,您将进入shell的“子级别”,但您可以像在主级别上一样在其中进行写(即,您可以直接编写"
而不是\"
,等等)。例如: touch "/tmp/a file" ; echo "its size is: $(find "/tmp/a file" -ls | awk '{print $5}) ..." : if you used backticks you'd have to
找到\“ / tmp / a文件\”`和print \$5
。随着$(...)
无需:外壳适应新的水平,你可以直接写就好像你的解释,现在是在那个水平了。