-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 ...行を sayに変更し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 に答える