【ansible】ansible shell 执行远程命令遇到awk 中$符号的问题
前言
在使用ansible 配合awk 命名时报错。
原命令:
ansible presto -m shell -a "ps -ef|grep -i presto |grep -v grep|awk '{print $2}' |xargs jstack |grep JNI"
提取presto进程pid回失败,原因是ansible 设别awk的$ 符号有问题
解决方案:
将 $
符号进行转义
ansible presto -m shell -a "ps -ef|grep -i presto |grep -v grep|awk '{print \$2}' |xargs jstack |grep JNI"
或者把命令写成脚本,远程执行脚本