我似乎無法找到這個查詢的答案已經在這裏,似乎無法找到任何與谷歌搜索。Ansible adhoc命令返回重複參數發現錯誤,當使用原始模塊
我想在遠程盒子上使用ansible運行一個adhoc命令,並且我不斷收到「在參數字符串中找到了一個重複的參數」失敗,這發生在我使用原始模塊但不是shell模塊時。
確切的錯誤信息是:
hostname1 | FAILED => a duplicate parameter was found in the argument string (variable)
hostname2 | FAILED => a duplicate parameter was found in the argument string (variable)
例如這裏是一個命令不工作,它似乎反對設置同一個變量兩次,儘管這是有效的bash:
ansible group -i hosts-file -m raw -k -s -a "variable=1 ; echo \$variable; variable=2; echo \$variable"
我之所以這樣問是因爲我試圖運行一個case語句命令來設置一個變量上沒有安裝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
"
這裏的語法可能無法發現的,但希望你的想法,它不能用相同的變量多次設置應付。我知道在上面的代碼中,我可以通過將echo放入case語句來解決問題,但我的代碼實際上比echo更復雜,因此我最終將更多行代碼複製到案例陳述。
有誰知道如何解決這個問題?任何幫助非常感謝,謝謝。
編輯:我在1.7版本,根據下面的答案,這個問題不會影響2.0以後的任何內容。
請提供確切的錯誤信息,因爲這可以在我的設置中正常工作。 –
這是我的愚蠢,我已經添加了上面的確切的錯誤信息。 – user6916397