これを行うスクリプトの一部があります。
- ディレクトリ内のすべてを削除します
- perforce そのディレクトリから同期を強制する
- ファイルを別のディレクトリから上記のディレクトリにコピーします。その中には、ソース管理が上書きされないようにするいくつかの競合があります(これは予想されることであり、私が望むことです)
これだけを持つ前に:
...
cp <source path> <dest path>
echo done copying
...
echo done
出力:
...
Permission Denied:file1
Permission Denied:file2
done copying
...
done
それで、それは仕事をして、完了に達するでしょう。次に、ディレクトリが次のように終了することを確認するために、ある種のチェックを行いました。
if[ -d sourcepath ]
then
if [ -d destpath ]
then
cp <source path> <dest path>
else
echo problem with dest
exit 1
fi
else
problem with source
exit 1
fi
しかし、スクリプトは最後の Permission Denies の後に終了するだけで、その後は何もヒットしないため、出力は次のようになります。
出力:
...
Permission Denied:file1
Permission Denied:file2
私は bash のルールにあまり詳しくないので、この質問を見つけることができなかったので、ここに投稿すると思いました。ただし、if では、許可の問題があるという事実により終了するようです。