ホームページ >バックエンド開発 >Python チュートリアル >Bash シェルを使用してファイルが存在するかどうかを確認する方法

Bash シェルを使用してファイルが存在するかどうかを確認する方法

高洛峰
高洛峰オリジナル
2017-01-09 13:48:211344ブラウズ

はじめに

Unix 系システムの Bash 環境で、ファイルが存在するかどうかを確認する必要があることがよくあります。需要があるので、もちろん解決策はあります。シェルの test コマンドを使用して、ファイルの種類を検出したり、値が等しいかどうかを確認したりすることもできます。存在します。

次のコマンドを使用して確認できます:

test -e filename
[ -e filename ]
  
test -f filename
[ -f filename ]

次のコマンドはシェルの条件式を使用して /etc/hosts ファイルが存在するかどうかを判断します:

[ -f /etc/hosts ] && echo "Found" || echo "Not found"

この組み合わせたコマンドは次を出力します。内容:

Found

より一般的な使い方は、if..else..fi 条件判定の条件式にテストコマンドを配置し、その中に別の分岐ロジックを記述することです

#!/bin/bash
file="/etc/hosts"
if [ -f "$file" ]
then
 echo "$file found."
else
 echo "$file not found."
fi

関連ファイル属性を検出するための演算子

ファイルが存在し、対応する属性がある場合、次の演算子は true を返します:

-b FILE
  FILE exists and is block special
-c FILE
  FILE exists and is character special
-d FILE
  FILE exists and is a directory
-e FILE
  FILE exists
-f FILE
  FILE exists and is a regular file
-g FILE
  FILE exists and is set-group-ID
-G FILE
  FILE exists and is owned by the effective group ID
-h FILE
  FILE exists and is a symbolic link (same as -L)
-k FILE
  FILE exists and has its sticky bit set
-L FILE
  FILE exists and is a symbolic link (same as -h)
-O FILE
  FILE exists and is owned by the effective user ID
-p FILE
  FILE exists and is a named pipe
-r FILE
  FILE exists and read permission is granted
-s FILE
  FILE exists and has a size greater than zero
-S FILE
  FILE exists and is a socket
-t FD file descriptor FD is opened on a terminal
-u FILE
  FILE exists and its set-user-ID bit is set
-w FILE
  FILE exists and write permission is granted
-x FILE
  FILE exists and execute (or search) permission is granted

上記のコマンドは man test からコピーされます。

上記の記号の使い方は全く同じです:

if [ operator FileName ]
then
  echo "FileName - Found, take some action here"
else
 echo "FileName - Not found, take some action here"
fi

概要

以上がこの記事の内容の全てです この記事の内容が皆様の勉強や仕事に少しでもお役に立てれば幸いです。ご質問がある場合は、メッセージを残して連絡してください。

Bash Shell を使用してファイルが存在するかどうかを確認する方法に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。