在Ansible中,可以通过使用变量来将命令行参数传递给Ansible角色中的系统脚本。具体步骤如下:
vars
部分定义一个变量command_args
。---
- name: Execute system script
hosts: all
vars:
command_args: "{{ ansible_play_hosts_all }}"
tasks:
- name: Run system script
shell: /path/to/system_script.sh {{ command_args }}
--extra-vars
参数传递命令行参数。例如,假设要传递参数arg1
和arg2
,可以使用以下命令:ansible-playbook playbook.yml --extra-vars "command_args=arg1,arg2"
{{ command_args }}
来引用传递的命令行参数。在上述示例中,系统脚本/path/to/system_script.sh
可以通过$1
和$2
来获取参数arg1
和arg2
。#!/bin/bash
arg1=$1
arg2=$2
# 使用传递的参数进行操作
echo "Argument 1: $arg1"
echo "Argument 2: $arg2"
这样,通过以上步骤,就可以将命令行参数传递给Ansible角色中的系统脚本。请注意,这只是一种示例方法,实际使用时可以根据需求进行调整。
领取专属 10元无门槛券
手把手带您无忧上云