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