ansibleアドホックコマンドを自動化するシェルスクリプトを作成しようとしています。
例えば
/usr/bin/ansible app -m shell -a 'echo $HOME'
この種のタスクを自動化する簡単なスクリプトを作成します。
#!/bin/bash
set -x
ANS_BIN="/usr/bin/ansible"
pattern="app"
remote='echo $HOME'
$ANS_BIN $pattern -m shell -a $remote
これを実行すると、何を試しても、単純な引用は常に誤解されます。
./ans2.sh
+ ANS_BIN=/usr/bin/ansible
+ pattern=app
+ remote='echo $HOME'
+ /usr/bin/ansible app -m shell -a echo '$HOME' Usage: ansible <host-pattern> [options]
単純/二重引用符のエスケープについて多くの質問があることは知っていますが、わかりません! これを機能させることは不可能です。どうすればこれをエスケープできますか?