我想在许多目录中运行一些命令,如下面的代码所示:
for d in dir*;
do
touch $d/file.txt
done
但是,虽然上面的代码适用于名称中没有空格的目录,但如果它们的空格如下,则不会:Directory 1而不是Directory1,每个单词都被视为不同的目录。有什么方法可以解决这个问感谢。
答案 0 :(得分:1)
让我们问shellcheck!
In myscript line 3:
touch $d/file.txt
^-- SC2086: Double quote to prevent globbing and word splitting.
好的,让我们这样做:
for d in dir*;
do
touch "$d"/file.txt
done
现在可行。