首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

有没有办法运行shell脚本,提示输入Ansible playbook中的值?

是的,可以通过在shell脚本中使用read命令来提示输入Ansible playbook中的值。read命令用于从标准输入中读取用户的输入,并将其赋值给一个变量。以下是一个示例:

代码语言:txt
复制
#!/bin/bash

# 提示输入Ansible playbook中的值
read -p "请输入变量A的值:" varA
read -p "请输入变量B的值:" varB

# 执行Ansible playbook,并传递变量
ansible-playbook playbook.yml --extra-vars "varA=$varA varB=$varB"

在上述示例中,read命令会提示用户输入变量A和变量B的值,并将输入的值分别赋给变量varA和varB。然后,通过执行ansible-playbook命令来运行Ansible playbook,并使用--extra-vars参数将变量传递给playbook。

这种方法可以方便地在运行shell脚本时动态地输入Ansible playbook中的值,从而实现更灵活的配置和部署。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

243张图片为你解析Linux轻量级自动运维化工具Ansible

,这是因为ansiblecommand模块并不支持管道等输出,所以下面介绍另外一个ansible模块shell shell模块 :在远程主机上调用shell解释器运行命令,支持shell各种功能,...playbook任务来新增用户和组 定义一个yaml模板 查查语法有没有错误,没有提示即表示语法应该没有问题。...正式运行,没有问题 查看一下端口是否已经打开 重点检查一下cpu变量是否有改变,这里可以看到,跟我们ansible_processor_vcpus是一样,这样符合我们预期,此处就展示完毕 条件测试...重新运行脚本,没有报错了 验证,发现已经安装上了,此处就不再看其他安装包安装情况了,应该没有大问题 基于字典列表给元素示例: 示例:创建指定用户并属于指定组 检查语法 测试运行,没有提示有任何变化...,系统均默认此格式为错误,所以需要小心 2、 有时候输入错了ansibile不能识别的错误,用- - syntax-check 或者 �Ccheck 测试文件时候并不会提示有任何提示,需要实际运行才能会报错

1.6K60

Ansible使用

7,脚本模块,远程执行脚本 模块分为两个:shell与script a,shell模块,这个模块需要将要运行脚本传到受控端才可以执行,就用上面所提到 copy 模块完成传送 如果不会shell脚本写...b,script 模块 他用法和 shell 一样,但是不能执行命令,他优点是执行脚本不需要将脚本文件复制到远程服务器,就可以将脚本执行过程在远程服务器上进行执行 [root@docker_t...=removed” 10,剧本功能模块-playbook 这个所谓剧本其实就是类似 shell 脚本,您需要系统做什么事情,写到一个文件里执行即可,很适合批量安装服务和发布项目。..., -name:为输出提示信息, copy:代表把主机(src)文件复制到被控制服务器(dest) shell:代表执行被控制服务器脚本 (6)创建sh脚本文件:jarweb-script.sh...到这里,就说明已经执行成功了,去浏览器输入项目地址访问一下,有没有启动吧 如果想更详细了解Ansible使用,请访问这个地址吧:https://blog.rj-bai.com/post/117.html

81711

243张图片为你解析Linux轻量级自动运维化工具Ansible

,但是当我们验证时候,就会发现密码错误了,这是因为ansiblecommand模块并不支持管道等输出,所以下面介绍另外一个ansible模块shell shell模块 :在远程主机上调用shell...任务来新增用户和组 定义一个yaml模板 查查语法有没有错误,没有提示即表示语法应该没有问题。...,所以应该是没有问题 正式运行,没有问题 查看一下端口是否已经打开 重点检查一下cpu变量是否有改变,这里可以看到,跟我们ansible_processor_vcpus是一样,这样符合我们预期...重新运行脚本,没有报错了 验证,发现已经安装上了,此处就不再看其他安装包安装情况了,应该没有大问题 基于字典列表给元素示例: 示例:创建指定用户并属于指定组 检查语法 测试运行,没有提示有任何变化...,有时候少了几个空格,或者空格位置不妥当时候,系统均默认此格式为错误,所以需要小心 2、 有时候输入错了ansibile不能识别的错误,用- - syntax-check 或者 �Ccheck 测试文件时候并不会提示有任何提示

1.4K30

243 张图片为你解析 Linux 轻量级自动运维化工具 Ansible

shell模块 :在远程主机上调用shell解释器运行命令,支持shell各种功能,例如管道等 注意:command和shell模块核心参数直接为命令本身;而其它模块参数通常为“key=value...查查语法有没有错误,没有提示即表示语法应该没有问题。 ? 测试运行看看,-C表示仅测试跑一边,但是不会实际操作 ? 也可以单独测试某些特定选项 查看仅影响主机 ? 查看运行哪些任务 ?...重点检查一下cpu变量是否有改变,这里可以看到,跟我们ansible_processor_vcpus是一样,这样符合我们预期,此处就展示完毕 ? ?...CentOS7开始也提示有skipping信息?但是后面确实是执行成功了,下面正式运行playbook看看效果。 ? 正式运行,似乎没有报什么错误 ?...有时候输入错了ansibile不能识别的错误,用- - syntax-check 或者 �Ccheck 测试文件时候并不会提示有任何提示,需要实际运行才能会报错。

1.2K20

243张图片为你解析Linux轻量级自动运维化工具Ansible

shell模块 :在远程主机上调用shell解释器运行命令,支持shell各种功能,例如管道等 注意:command和shell模块核心参数直接为命令本身;而其它模块参数通常为“key=value...查查语法有没有错误,没有提示即表示语法应该没有问题。 ? 测试运行看看,-C表示仅测试跑一边,但是不会实际操作 ? 也可以单独测试某些特定选项 查看仅影响主机 ? 查看运行哪些任务 ?...重点检查一下cpu变量是否有改变,这里可以看到,跟我们ansible_processor_vcpus是一样,这样符合我们预期,此处就展示完毕 ? ?...CentOS7开始也提示有skipping信息?但是后面确实是执行成功了,下面正式运行playbook看看效果。 ? 正式运行,似乎没有报什么错误 ?...有时候输入错了ansibile不能识别的错误,用- - syntax-check 或者 �Ccheck 测试文件时候并不会提示有任何提示,需要实际运行才能会报错。

1.2K20

运维自动化工具ansible

,默认Key验证 -K, --ask-become-pass 提示输入sudo -C, --check 检查,并不执行 -T, --timeout=TIMEOUT 执行命令超时时间...也可能会失败,解决办法:写到脚本时,copy到远程,执行,再把需要结果拉回执行命令机器 [root@centos7 ~]#ansible all -m shell -a 'echo $HOSTNAME...Handlers 和notity结合使用,由特定条件触发操作,满足条件方才执行,否则不执行 tags 标签指定某条任务执行,用于选择运行playbook部分代码。...在运行自下而下某playbook时,如果中途发生错误,所有已执行任务都将回滚,因此,在更正playbook后重新执行一次即可 task目的是使用指定参数执行模块,而在模块参数可以使用变量。...ansible-playbook file.yml --limit websrvs Playbook VS ShellScripts SHELL脚本 #!

3.3K10

Ansible自动化运维配置与应用(结合实例)

ansible是基于模块工作,本身没有批量部署能力。真正具有批量部署ansible运行模块,ansible只是提供一种框架。...解决办法: [root@adailinux ~]# yum install -y libselinux-python ansible模块——shell [root@adailinux ~]# ansible...实现功能做一个概述,后面执行过程,会打印 name变量 ,可以省略;gather_facts参数指定了在以下任务部分执行前,是否先执行setup模块获取主机相关信息,这在后面的task会使用到setup...=Username 执行用户,使用这个远程用户名而不是当前用户 -U --sud-user=SUDO_User sudo到哪个用户,默认为 root -k --ask-pass 登录密码,提示输入...SSH密码而不是假设基于密钥验证 -K --ask-sudo-pass 提示密码使用sudo -s --sudo sudo运行 -S --su 用 su 命令 -l --list 显示所支持所有模块

2.3K20

运维必备 | ansible 自动化运维工具之变量定义与调用

脚本 vars 配置定义和调用 描述:下面在playbook 脚本定义变量几种格式: # 1.可定义单个变量或者多个变量(常规) vars: tvar1: testfile tvar2:...在运行时默认运行"[Gathering Facts]"任务会收集远程主机相关信息,这些信息会保存在对应变量,我们在playbook可以使用这些变量,从而利用这些信息..../reference_appendices/common_return_values.html 5.使用 vars_prompt 提示输入变量 描述:在某些交换式操作时候,脚本提示用户输入一些信息,...脚本需要根据用户输入信息决定下一步动作 「Q: 那么在playbook该怎样实现这种交互呢?」...❝答:我们可以这样做提示用户输入信息,然后将用户输入信息存入到指定变量,当我们需要使用这些"输入信息"时,只要引用对应变量即可。

87110

Ansible

6.如何查看Ansible模块用法? 7.在Ansible命令返回,绿色代表什么含义? 8.在Ansible命令返回,黄色代表什么含义?...9.在Ansible命令返回,红色代表什么含义? 10.Ansible执行命令方式有哪些?...,可选有yes和no,默认为yes,表示覆盖,如果设置为no,则不会执行覆盖拷贝操作,远程主机文件保持不变 backup:此参数当远程主机目标路径已经存在同名文件,并且与ansible主机文件内容不同时...表示 Ansible剧本Playbook Ansible playbook剧本介绍 在ansible,类似”脚本文件被称作”剧本”,英文名称为’playbook’ ,用于配置,部署,和管理被控节点...,满足条件方执行,否则不执行 tags标签,指定某条任务执行,用于选择运行playbook部分代码。

2.7K30

Ansible自动化运维学习笔记2

某些工作场景需要你想要让别人阅读你playbook,却不想让别人看到某些只能看到引入变量名,但是看不到变量对应,这种将变量分离到某个文件做法叫做”变量文件分离” “变量文件分离”:能够隐藏某些...在运行时默认运行”[Gathering Facts]”任务会收集远程主机相关信息,这些信息会保存在对应变量,我们在playbook可以使用这些变量,从而利用这些信息,那么我们怎样在playbook.../reference_appendices/common_return_values.html (5) prompt 提示输入写入变量 描述:在某些交换式操作时候,脚本提示用户输入一些信息,脚本需要根据用户输入信息决定下一步动作...答:我们可以这样做提示用户输入信息,然后将用户输入信息存入到指定变量,当我们需要使用这些”输入信息”时,只要引用对应变量即可。...它更像shell变量赋值方式,可以将某个变量赋值给另一个变量,也可以将字符串赋值给变量。

2.3K10

ansible自动运维工具之ansible-playbook详解

playbook配置文件类似于shell脚本,是一个YAML格式文件,用于保存针对特定需求任务列表。...上面介绍ansible命令虽然可以完成各种任务,但是当配置一些复杂任务时,逐条输入就显得效率非常低下了。...二、playbook核心元素 playbook核心元素包含: hosts:任务目标主机,多个主机用冒号分隔,一般调用/etc/ansible/hosts分组信息。...每次在执行playbook文件之前,一定要使用“-C”选项来进行预测试。该选项会执行一遍playbook文件,但不会对目标主机进行任何更改,若语法有错或目标主机缺少某个文件,都将报错提示。...[root@ansible ~]# ansible-playbook /etc/ansible/httpd.yml #执行脚本

1.8K40

Ansible自动化运维学习笔记2

某些工作场景需要你想要让别人阅读你playbook,却不想让别人看到某些只能看到引入变量名,但是看不到变量对应,这种将变量分离到某个文件做法叫做”变量文件分离” “变量文件分离”:能够隐藏某些...在运行时默认运行”[Gathering Facts]”任务会收集远程主机相关信息,这些信息会保存在对应变量,我们在playbook可以使用这些变量,从而利用这些信息,那么我们怎样在playbook.../reference_appendices/common_return_values.html (5) prompt 提示输入写入变量 描述:在某些交换式操作时候,脚本提示用户输入一些信息,脚本需要根据用户输入信息决定下一步动作...答:我们可以这样做提示用户输入信息,然后将用户输入信息存入到指定变量,当我们需要使用这些”输入信息”时,只要引用对应变量即可。...它更像shell变量赋值方式,可以将某个变量赋值给另一个变量,也可以将字符串赋值给变量。

3K51

Ansible配置文件

执行并发数5poll_intervalansible异步任务查询间隔15sudo_useransible sudo用户rootask_sudo_pass运行ansible是否提示输入sudo密码Trueask_pass...运行ansible是否提示输入密码Truetransportansible远程传输模式smartremote_port远程主机SSH端口22module_langansible模块运行默认语言环境Cgatheringfacts...shell/bin/shhash_behaviouransible主机变量重复处理方式replaceprivate_role_vars默认情况下,角色变量将在全局变量范围可见。...4.3 定义组变量 ​ Ansible支持定义组变量,主要是针对大量机器变量定义需求,赋予指定组内所有主机在playbook可用变量,等同于逐一给该组下所有主机赋予同一个变量 示例(编辑/...none ssh 使用私钥文件.适用于有多个密钥,而你不想使用 SSH 代理情况. ansible_shell_type sh 目标系统shell类型.默认情况下,命令执行使用 ‘sh’ 语法

1.2K50

Ansible剧本(playbook)编写

也可以这么理解,playbook 字面意思,即剧本,现实由演员按照剧本表演,在Ansible,这次由计算机进行表演,由计算机安装,部署应用,提供对外服务,以及组织计算机处理各种各样事情。...ansible剧本存在一定局限性 全部写成一行虽然看起来整洁,但是有一些特性没办法使用 比如同时需要创建多个目录,启动多个服务,需要重复写多条语句 参数不直观,不好修改 剧本里写是启动服务,如果配置文件发生变化...里要执行所有标签 ansible-playbook --list-tags tags.yaml 2.指定运行某个标签 ansible-playbook -t "04-create passwd conf...4.指定不运行某个标签 ansible-playbook --skip-tags="04-create passwd conf" tags.yaml 5.指定不运行多个标签 ansible-playbook..." 回顾运行检查规范与补充 00.检查剧本拼写规范 ansible-playbook --syntax-check check.yaml 01.检查这个任务执行主机对象 ansible-playbook

2K40

Ansible 简介

对于这两种情况,如果完全通过 shell 脚本实现。脚本会过于复杂,极难维护。当然我们也可以使用同类工具,比如 Puppet and Chef。...相比 Puppet 和 Chef 使用 Ansible 可以延续之前使用 shell 脚本工作习惯和方式,因而其学习成本会低一些。...当然我们可以同时添加 -K 选项,这是 ansible 会停下来与用户交互,等待用户输入密码: 但这真的不是我想要结果,我需要脚本能够自动化不需要交互完成任务!...playbook 如果 Ansible 功能仅仅是能够执行当个命令和脚本就显得太弱了。...这样一个简单 playbook 就可以正常工作了,当然实际生产环境你可能会把 playbook 编写非常复杂!

99620
领券