Tôi có một lệnh Maven với tham số:
mvn test -Dcommon_password=!23foo
Lệnh này đang được thực thi như
mvn test -Dcommon_password=dockerfoo
Tức !23là đang được thay thế bằng docker. Tại sao điều này xảy ra và làm thế nào tôi có thể tránh nó?
Tôi có một lệnh Maven với tham số:
mvn test -Dcommon_password=!23foo
Lệnh này đang được thực thi như
mvn test -Dcommon_password=dockerfoo
Tức !23là đang được thay thế bằng docker. Tại sao điều này xảy ra và làm thế nào tôi có thể tránh nó?
Câu trả lời:
Đây là mở rộng lịch sử : !23được thay thế bằng lệnh thứ 23 trong lịch sử của bạn.
Để tránh điều này, hãy sử dụng dấu ngoặc đơn:
mvn test '-Dcommon_password=!23foo'
set +H/set +o histexpand