シェルスクリプトを使用して特定のプレフィックスで始まるファイルがディレクトリに存在するかどうかをテストする方法[閉じる]

シェルスクリプトを使用して特定のプレフィックスで始まるファイルがディレクトリに存在するかどうかをテストする方法[閉じる]

「ant」で始まるファイルがディレクトリに存在するかどうかをテストする必要があります。ファイルがある場合は削除する必要があります。今私が使っている命令は

test -e $FILE_PATH/$FILE_NAME

私は定義した

FILE_NAME="ant"

FILE_NAME の後に * を追加しても機能しません。

ベストアンサー1

そのようなファイルが1つだけ存在する場合は、それらを削除するための移植可能な方法があります。

set -- "${FILE_PATH}/${FILE_NAME}"*
[ $# -eq 1 -a -e "$1" ] && rm -- "$1"

ビューには「ant」ファイルがどれだけ存在するかは関係ありませんが、作業が完了したらそのファイル(すべて)が消えるようにするには、次のようにします。

rm -f "${FILE_PATH}/${FILE_NAME}"*

- この方法でそのファイルがない場合、rmは(強制的に静かに)何もしませんが、そのファイルが(1つ以上!)あればrm削除されます。

おすすめ記事