二重引用符で 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"

連続行を削除すると、スクリプトの美学が損なわれます。他のオプションはありますか?

ベストアンサー1

おすすめ記事