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의 답변 에서처럼 적절하게 인용하고 탈출하는 것이 발생할 수있는 가능성 중 하나 를 비활성화하는 것보다 낫습니다 . 물론 처음에는 프로세스 인수에 암호를 사용하지 않는 것이 더 좋습니다 . (-: — JdeBP 내 질문에 @JdeBP 나는 간단한 이유로 비밀번호를 일반 텍스트로 표시했습니다. 실제 프로젝트에서이 주장은 Jenkins 비밀 자격 증명에서 가치를 얻습니다. 그래서 가려지고 안전합니다. — Vitalii Plagov
set +H/set +o histexpand