【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"

或者把命令写成脚本,远程执行脚本

posted @ 2022-11-10 19:24  彬在俊  阅读(69)  评论(0编辑  收藏  举报