Saya memiliki wadah buruh pelabuhan yang ingin saya jalankan dan menyerahkan beberapa kata sandi. Satu dengan tanda seru !
dan yang lainnya dengan tanda ampersand &
. Jadi saya ingin menjalankan ini:
docker run -i -t --rm \
-e "LDAP_FILTER=(&(objectCategory=person)(objectClass=user)" \
-e "LDAP_PASS=Secret!Password" \
user-prefix/container-name
Itu tidak bekerja. &
diganti {LDAP_FILTER}
dan menjadi !
terpotong. Saya cukup yakin saya harus melarikan diri ini. Tapi \!
dan \&
tidak berhasil.
shell
escape-characters
escaping
docker
DASKAjA
sumber
sumber
-e
parameter dieksekusi oleh instance shell lain, Anda mungkin harus melarikan diri dua kali, jadi coba\\\&
dan\\\!
.Jawaban:
Saya menemukan solusinya:
&
ke\&
!
jadi ini bekerja:
sumber