Ansibleでのリモート側のシェルのエスケープシーケンスにるエラー

ansibleを使っていて、ハマった。リモート側の.bashrcには、screenのために次のような設定がある。
function printdir() {
  echo -en "\033k[$SCREEN_HOST$(pwd | awk '{ print $(NF) }' FS='/')]\033\\"
}

if [ x$TERM = xscreen ]; then
  PROMPT_COMMAND='printdir'
fi
そのため、ansibleで次のような一見不可解なエラーが発生した。
GATHERING FACTS *************************************************************** 
failed: [remote] => {"failed": true, "parsed": false}
invalid output was: SUDO-SUCCESS-dxwtmneadzzelqvobbmnbtbhweqmixhr
/usr/bin/python: can't open file '
単純な回避方法は、次のように実行時にTERMを適当なもの(xterm)に変更すること。
$ TERM=xterm ansible-playbook -i hosts playbook.yaml

0 件のコメント: