J'ai un conteneur Docker que je veux exécuter et lui remettre des mots de passe. L'un avec un point d'exclamation !
et l'autre avec une esperluette &
. Je veux donc exécuter ceci:
docker run -i -t --rm \
-e "LDAP_FILTER=(&(objectCategory=person)(objectClass=user)" \
-e "LDAP_PASS=Secret!Password" \
user-prefix/container-name
Cela ne fonctionne pas. &
est remplacé par {LDAP_FILTER}
et le !
tronqué. Je suis sûr que je dois y échapper. Mais \!
et \&
n'a pas fonctionné.
shell
escape-characters
escaping
docker
DASKAjA
la source
la source
-e
paramètre est exécuté par une autre instance de shell, vous devrez peut-être vous échapper deux fois, alors essayez\\\&
et\\\!
.Réponses:
J'ai trouvé une solution:
&
pour\&
!
donc ça marche:
la source