Я не мог найти ответ на этот запрос здесь уже и не могу найти ничего с поисковой системой.Ansible adhoc command, возвращающая ошибку с повторяющимся параметром при использовании необработанного модуля
Я пытаюсь запустить команду adhoc в удаленном ящике с помощью ansible, и я продолжаю получать «дублирующийся параметр, найденный в строке аргумента», это происходит, когда я использую модуль raw, но не модуль оболочки.
Точное сообщение об ошибке выглядит следующим образом:
hostname1 | FAILED => a duplicate parameter was found in the argument string (variable)
hostname2 | FAILED => a duplicate parameter was found in the argument string (variable)
К примеру вот это команда, которая не работает, то, кажется, возражают против установки ту же переменную дважды, несмотря на то, что справедливо Баш:
ansible group -i hosts-file -m raw -k -s -a "variable=1 ; echo \$variable; variable=2; echo \$variable"
Я спрашиваю потому, что я пытаюсь выполнить команду с сазом установить переменный на удаленных ящиках, не установлена Python, и я не имею право, чтобы настроить их в любом случае.
К примеру:
ansible group -i hosts-file -m raw -k -s -a "
for file in \$(find . -name \"test*\")
do
case \$file in
test1) variable=test1 ;;
test2) variable=test2 ;;
test3) variable=test3 ;;
esac
echo \$variable
done
"
Синтаксис здесь не может быть пятна на, но, надеюсь, вы получите эту идею, он не может справиться с установкой те же переменные нескольких раз. Я знаю, что в приведенном выше коде я мог бы решить проблему, поставив эхо в оператор case, но мой код на самом деле намного сложнее, чем эхо, поэтому я получаю гораздо больше строк кода, дублируя действие в дело.
Кто-нибудь знает, как это исправить? Любая помощь очень ценится, спасибо.
EDIT: Я на доступной версии 1.7, как ответ ниже, эта проблема не затрагивает ничего выше 2.0.
Укажите, пожалуйста, точное сообщение об ошибке, поскольку это нормально работает в моей настройке. –
Это было глупо со мной, я добавил сообщение об ошибке выше. – user6916397