ファイルテストを使用してファイルがディレクトリに既に存在するかどうかを確認する方法

ファイルテストを使用してファイルがディレクトリに既に存在するかどうかを確認する方法

ユーザーにファイルを特定のディレクトリに移動するかどうかを尋ねるスクリプトを作成しようとしています。スクリプトは、ファイルがターゲットディレクトリにすでに存在することを確認する必要があり、存在する場合は、移動したいファイルで既存のファイルを上書きするかどうかをユーザーに尋ねます。

ifステートメントのファイルテストはどのように見えるべきですか?現在私

if [[ -e /ターゲットディレクトリ]] ;then...

しかし、これは正しい解決策ではないと思いますか?

答え1

あなたが探しているテストは次のとおりです。

[[ -f /path/to/file ]]

/path/to/fileファイルが存在することを確認するために、テスト中のファイルのパスはどこにありますか?条件を使用して、このテストを条件(DEST_DIRファイルの宛先ディレクトリが宛先ディレクトリの場合)に配置できます。SRC_FILE

if ! [[ -f DEST_DIR/file ]]; then
  mv SRC_FILE DEST_DIR
fi

true が返される場所は!ファイルの内容です。いいえ存在する。その場合は、次にSRC_FILE進みます。DEST_DIRいいえにすでに存在しますDEST_DIR

答え2

努力する:

if [ -e filename ]; then 
# something
fi

角かっこを1つだけ使用してください。

関連情報