17 パラメーターを使用したMavenコマンドがあります。 mvn test -Dcommon_password=!23foo このコマンドは次のように実行されています mvn test -Dcommon_password=dockerfoo つまり!23、に置き換えられていdockerます。なぜこれが起こり、どうすれば回避できますか? bash — ビタリィ・プラゴフ ソース
43 これは履歴拡張です:履歴!23の23番目のコマンドに置き換えられます。 これを回避するには、一重引用符を使用します。 mvn test '-Dcommon_password=!23foo' — スティーブン・キット ソース 5 またはset +H/set +o histexpand — ilkkachu 12 これは、あらゆる種類のシェルメタキャラクターを潜在的に含むことができるパスワードです。M. Kittの答えのように適切に引用してエスケープすることは、発生する可能性の1つだけを無効にするよりも優れています。もちろん、そもそもプロセス引数にパスワードを持たない方が良いでしょう。(-: — JdeBP 私の質問で@JdeBPは、単純化のためにプレーンテキストでパスワードを示しました。実際のプロジェクトでは、その議論はジェンキンスの秘密の信任状から価値を取ります。マスクされて安全です。 — Vitalii Plagov
set +H/set +o histexpand