在Unix中的多个目录中运行Bash脚本

时间:2014-05-13 16:48:46

标签: bash unix

我想在许多目录中运行一些命令,如下面的代码所示:

    for d in dir*;
    do
        touch $d/file.txt
    done

但是,虽然上面的代码适用于名称中没有空格的目录,但如果它们的空格如下,则不会:Directory 1而不是Directory1,每个单词都被视为不同的目录。有什么方法可以解决这个问感谢。

1 个答案:

答案 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

现在可行。