シェルスクリプトをチェックインする方法どの2つのファイルが存在しますか?
これらのファイルのどちらが存在するのか、どちらが存在するのかは関係ありません。
答え1
他の2つの答えは両方ともtest
2回実行されます。これが動作している間、両方のプロセス分岐の非効率性のために困難を経験する。以下を使用して、単一のテストでORを実行できます。
if [ -e file1 -o -e file2 ]; then ...
これは少し効率的です。
答え2
if test -e file1 || test -e file2; then
# At least one of file1 or file2 exists
...
else
# Neither file1 nor file2 exists
fi
test -e
存在することを確認してください。-b
(存在して特殊ブロックである)、-c
(存在して特殊文字である)、-d
(存在してディレクトリである)、-f
(存在して一般ファイルである)などのより具体的なテストが必要な場合があります。
答え3
/bin/test
マンページに名前が記載されていなくても、ファイルtest
を使用してtest -a /path/to/file
ファイルが存在することを確認できます。
if [ -a file1 ] || [ -a file2 ]; then echo "I found something"; fi
||
実際には論理的な「OR」です。