Bashファイル名拡張子でドットをエスケープする理由はありますか?

Bashファイル名拡張子でドットをエスケープする理由はありますか?

他の人が作成したbashスクリプトを使用していますが、次の行が表示されます。

cp -v  ${LOG_DIR}/${APPLICATION}\.*.log ${ARCHIVED_LOG_DIR}

使用されるファイルの名前は次のとおりです。

EXAMPLE.command1.log EXAMPLE.command2.log

ファイル名拡張子で特にドットを処理しないため、バックスラッシュがドットをエスケープする理由はありますか?バックスラッシュを使用していないものと比較すると、どのような影響がありますか? :

cp -v  ${LOG_DIR}/${APPLICATION}.*.log ${ARCHIVED_LOG_DIR}

答え1

違いなし。ポイント.特殊シェル文字引用が必要です。バックスラッシュが含まれています。見積もりの​​削除。これは.NETシェルだけでなく、ほとんどのシェルでも同様ですbash

答え2

@jw013の既に解決された質問に対する答えではありませんが、ここと重複\している間に{}何かが抜けました。変数を引用する必要があり、--表示されたオプションの終わりがありません。

cp -v -- "$LOG_DIR/$APPLICATION".*.log "$ARCHIVED_LOG_DIR"

関連情報