
실행하고 일부 비밀번호를 넘겨주고 싶은 도커 컨테이너가 있습니다. 하나는 느낌표가 !
있고 다른 하나는 앰퍼샌드가 있습니다 &
. 그래서 나는 이것을 실행하고 싶습니다 :
docker run -i -t --rm \
-e "LDAP_FILTER=(&(objectCategory=person)(objectClass=user)" \
-e "LDAP_PASS=Secret!Password" \
user-prefix/container-name
작동하지 않습니다. &
로 대체되고 {LDAP_FILTER}
잘 !
립니다. 나는 이것들을 피해야 한다고 확신한다. 하지만 잘되지 않았습니다 \!
.\&
답변1
해결책을 찾았습니다.
- 큰따옴표 대신 작은따옴표 사용
- 앰퍼샌드를 탈출
&
하여\&
- 느낌표를 벗어나지 않음
!
그래서 이것은 작동합니다 :
docker run -i -t --rm \
-e 'LDAP_FILTER=(\&(objectCategory=person)(objectClass=user)' \
-e 'LDAP_PASS=Secret!Password' \
user-prefix/container-name
답변2
어떤 이유로(예: 변수 확장) 전체 문자열에 작은따옴표를 사용할 수 없는 경우 아마도 이것이 최선의 해결책일 것입니다.Bash에서 느낌표를 어떻게 피합니까?
요약하자면: "'!'"
느낌표 주위에 사용하세요.
echo "hello there"'!'" and goodbye"