使用ansible的shell模块直接执行
awk
命令会发生遇见$
和双引号报语法错误或者awk
不生效的问题。
正确使用方式是将双引号和$符进行转义
例1: 查询kernel版本
ansible all -m shell -a "awk -F\' '\$1==\"menuentry \" {print \$2}' /etc/grub2.cfg " -b -k -K
例2: 查看已存在的用户
ansible all -m shell -a "awk -F: '{print \$1}' /etc/passwd" -b -k -K