繁体   English   中英

通过 Ansible playbook 运行终端命令

[英]Running terminal command via Ansible playbook

我似乎遇到了通过 ansible 剧本运行 shell/终端命令的常见问题。

如果我将 go 安装到我的远程计算机上并在新终端 window 上键入命令,它可以工作,但是尝试通过剧本执行相同操作会遇到目录问题。

这本质上是命令,但其中一些为了隐私而有所改变,但它本质上是一个身份验证器......

authenticator authenticate user userkeytab

如果我尝试将它作为 shell 运行,我会收到一个错误,即无法在 /bin/sh 中找到身份验证器命令,因此我尝试使用 chdir 在默认的 window (/Users/username) 处运行该命令。

这是大致的剧本,我的一次失败尝试......我只是不知道我应该使用什么 chdir......

- hosts: all
  tasks:
  - name: Reauthenticate login
    shell: authenticator authenticate user userkeytab
    args:
      chdir: ~/

我也试过 usr/local/bin.... 有什么想法吗?

您可以尝试使用“命令”模块吗,示例如下:

- name: Change the working directory to somedir/ and run the command as db_owner if /path/to/database does not exist.
  command: /usr/bin/make_database.sh db_user db_name
  become: yes
  become_user: db_owner
  args:
    chdir: somedir/
    creates: /path/to/database

资源:

https://docs.ansible.com/ansible/latest/modules/command_module.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM