部分名に基づいてファイルが存在するかどうかを確認する方法 [重複]

部分名に基づいてファイルが存在するかどうかを確認する方法 [重複]

ご存知のように、ファイルを確認する方法はこんな感じです。

[[ -f  /var/scripts_home/orig_create_DB_files_1.46.38 ]] && echo file exist

ただし、ファイルに名前 - "が含まれている場合は、ファイルが存在するかどうかを確認する方法データベースファイルの生成

私はこれを試しましたが、うまくいきません

[[ -f  /var/scripts_home/*create_DB_files* ]] && echo file exist

または

   partial_file_name=create_DB_files

   [[ -f  /var/scripts_home/*$partial_file_name* ]] && echo file exist

ベストアンサー1

for name in *create_DB_files*; do
    if [ -f "$name" ]; then
        printf 'at least one file exists (%s)\n' "$name"
        break
    fi
done

つまり、関連する名前を一致させ、そのうちの1つが通常のファイルであることを確認します(見つかったらループを終了します)。

おすすめ記事