2017-07-31 65 views
0

我是Ansible的新手。我有一個bash腳本,它有三個參數需要傳遞。我必須在Ansible的遠程服務器上運行這個bash腳本。在Ansible中執行帶有參數的bash腳本

基本上,我想在執行Ansible命令時聲明主機名,持續時間和註釋字段作爲參數。我不想編輯這個文件,因爲我是通過一個Slack頻道來做的。

- hosts: nagiosserver 

    tasks: 
    - name: Executing a script 
    command: sh /home/aravind/downtime.sh {hostname} {duration} {comments} 
+0

歡迎堆棧溢出使用這些額外的變量,你可以請編輯和添加您的SH文件內容 –

回答

0

如果您是通過ansible-playbook myplay.yml執行ansible,您可以通過-e varname=varvalue通過其他變量。一個懶惰的修復將運行與

ansible-playbook myplay.yml -e my_hostname=foo -e my_duration=bar -e my_comments=foobar 

但你應該考慮主機名已被定義在您的清單或收集的事實。

所以,你可以更新你的劇本使用

- hosts: nagiosserver 

    tasks: 
    - name: Executing a script 
    - command: "sh /home/aravind/downtime.sh {{my_hostname}} {{my_duration}} {{my_comments}}"