ฉันมีคำสั่ง Maven พร้อมพารามิเตอร์:
mvn test -Dcommon_password=!23foo
คำสั่งนี้จะถูกดำเนินการเป็น
mvn test -Dcommon_password=dockerfoo
คือจะถูกแทนที่ด้วย!23 dockerเหตุใดสิ่งนี้จึงเกิดขึ้นและฉันจะหลีกเลี่ยงได้อย่างไร
ฉันมีคำสั่ง Maven พร้อมพารามิเตอร์:
mvn test -Dcommon_password=!23foo
คำสั่งนี้จะถูกดำเนินการเป็น
mvn test -Dcommon_password=dockerfoo
คือจะถูกแทนที่ด้วย!23 dockerเหตุใดสิ่งนี้จึงเกิดขึ้นและฉันจะหลีกเลี่ยงได้อย่างไร
คำตอบ:
นี่คือการขยายประวัติ : !23ถูกแทนที่ด้วยคำสั่ง 23 ในประวัติของคุณ
เพื่อหลีกเลี่ยงปัญหานี้ให้ใช้เครื่องหมายคำพูดเดี่ยว:
mvn test '-Dcommon_password=!23foo'
set +H/set +o histexpand