-1

所以我需要将文件 /home/servers/template/craftbukkit.jar 复制到 /home/servers 内的每个文件夹中,例如。/home/servers/server1、/home/servers/server2 等

但我只想在 /home/servers/whateverserveritiscurrentlyon/mods 不存在的情况下这样做。这就是我想出的,想知道它是否会起作用:

echo " Script to copy a file to all server directories, only if mods does not exist in that directory"

for i in /home/servers/*/; do
    if [ ! -d "$i/mods" ]; then
    cp -f /home/servers/template/craftbukkit.jar "$i"
    fi
done

echo " completed script ..."
4

1 回答 1

2

看起来它应该工作。要进行非破坏性测试,请将cp -f ...行更改为说echo cp -f ...并查看输出。

它也可以稍微缩短,但不会对效率产生太大影响:

for i in /home/servers/*/
do
  [[ -d "${i}/mods" ]] || cp -f /home/servers/template/craftbukkit.jar "${i}/."
done
于 2012-08-02T16:59:26.703 回答