通过Ansible剧本运行终端命令

时间:2020-05-20 21:19:26

标签: macos terminal ansible

我似乎有一个常见的问题,那就是通过一个有趣的剧本来运行shell /终端命令。

如果我要打开我的远程计算机,然后在新的终端窗口上键入命令,它会起作用,但是尝试通过剧本进行操作却遇到了目录问题。

这本质上是命令,但是为了隐私起见,其中有些改变了,但是本质上是身份验证器...

authenticator authenticate user userkeytab

如果我尝试仅将其作为外壳程序运行,则会收到一个错误消息,提示无法在/ bin / sh中找到authenticator命令,因此我尝试使用chdir在默认窗口中运行该命令,(/ Users / username )。

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

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

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

1 个答案:

答案 0 :(得分:0)

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

- 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