使用带有双引号的 docker exec bash 时的行继续

使用带有双引号的 docker exec bash 时的行继续

我希望能够在 `docker exec bash -c " " 内部传递变量,其中还包括行继续字符。考虑下面的命令,它与行继续一起使用,但 bash 命令内没有变量

docker exec -t $hostname bash -c 'authconfig --enableldap --enableldapauth \
--ldapserver="myldap.docker.com" --ldapbasedn="dc=docker,dc=com" --enablesssd \
--enablesssdauth --enableldaptls --enablemkhomedir --disablecache --disablecachecreds \
--update'

如果我想在 bash 中传递变量,例如--ldapserver='$ldaphost' --ldapbasedn='dc=$domain,dc=com',我需要用'双引号替换单引号",并删除行延续'\',否则它不起作用。

docker exec -t $hostname bash -c "authconfig --enableldap --enableldapauth --ldapserver='$ldaphost' --ldapbasedn='dc=$domain,dc=com' --enablesssd --enablesssdauth --enableldaptls --enablemkhomedir --disablecache --disablecachecreds --update"

删除续行会破坏脚本的美感。有没有其他选择。

相关内容