-1
[Ansible版本== 2.1.0]通過ansible
運行帶參數的腳本爲了運行一個腳本這是目前本地目標服務器上,我們可以使用Ansible的「命令」模塊。以下可以很容易地完成:
- name: Executing getpkgs.sh to download packages.
command: sh "/path/to /dir/scriptName.sh" arg1 arg2 arg3 arg4
我有我的腳本名稱和參數存儲在可變的變量。例如,下面的變量包含了所有的腳本名稱和參數傳遞給這些腳本:
scripts_to_execute:
- { filename: "/path/to/file/file1.sh", args: "arg11 arg12 arg13"}
- { filename: "/path/to/file/file2.sh", args: "arg21 arg22"}
- { filename: "/path/to/file/file3.sh", args: "arg31 arg32 arg33 arg34"}
,我想所有這些文件中已經存在在目標服務器上,使用with_items執行。試圖實現類似以下內容:
- name: Executing all files.
command: sh "{{item.filename}}" "{{item.args}}"
with_items: scripts_to_execute
我想通過腳本名稱後跟包含要傳遞到腳本中的所有參數的字符串。但它正在考慮將這個參數串作爲單個參數。
你能發佈確切的錯誤信息嗎? – udondan
@udondan,語法錯誤是由於其他問題,我糾正它。編輯了這個問題。我試圖傳遞多個參數,但它將字符串視爲單個參數。請幫忙; – Shasha99