2016-07-25 5 views
1

Я пытаюсь выполнить следующую команду:анзибль оболочки избежать одинарные и двойные кавычки

ps -eo pid,args --cols=10000 | awk '/\/opt\/logstash\/logstash-1.5.3\// && $1 != PROCINFO["pid"] { print $1 }' 

Whith анзибль -m модуль оболочки (не рабочий пример):

ansible -m shell -a '"'ps -eo pid,args --cols=10000 | awk '/\/opt\/logstash\/logstash-1.5.3\// && $1 != PROCINFO[\'pid\'] { print $1 }' '"' all 

Один из пути могли бы помещать это в файл, но все же было бы неплохо работать как команда - любые идеи?

ответ

2

Bash выделяющихся правила будут делать:

ansible localhost -m shell -a "ps -eo pid,args --cols=10000 | awk '/\\/opt\\/logstash\\/logstash-1.5.3\\// && \$1 != PROCINFO[\"pid\"] { print \$1 }'" 
+0

Спасибо. Ваш ответ помог решить мою проблему –

0

Mine альтернативной версии, которая работала:

ansible -m command -a "ps a |grep -E '/opt/logstash/logstash-1.5.3/vendor/jruby' " all --sudo 

Проверьте, если процесс работает:

ansible -m shell -a "ps aux |grep -E '/opt/logstash/logstash-1.5.3/vendor/jruby'|grep -v -e grep |wc" all 
Смежные вопросы