シェルを使用してファイルが存在するかチェックする方法は?

ファイルの存在確認には、シェルを使用してtestコマンドや[ ]で判定できます。

下記は testコマンドを使用した例です。

if test -f 文件路径; then
echo "文件存在"
else
echo "文件不存在"
fi

-f オプションはファイルが通常ファイルかどうかを判定します。ファイルが存在する場合は test コマンドは 0 を返し、 then 以降の文を実行します。ファイルが存在しない場合は 1 を返し、else 以降の文を実行します。

[ ] の使用例は以下です。 [ ] と文の間には必ずスペースが必要です。

if [ -f 文件路径 ]; then
echo "文件存在"
else
echo "文件不存在"
fi

同様にオプションは、通常ファイルかどうかを判断することを表します。存在する場合ゼロを返し、その後の文を実行します。存在しない場合1を返し、その後以外の文を実行します。

ディレクトリがどうか判断したい場合は、-dオプションを使用できます。例えば次のようになります。

if [ -d 目录路径 ]; then
echo "目录存在"
else
echo "目录不存在"
fi

同様の理屈で、-d オプションはディレクトリの存在を確認するためのものです。ディレクトリが存在すれば0となり、then以降の文が実行され、逆に、ディレクトリがなければ1となり、else以降の文が実行されます。

bannerAds