我被困在这里,我可以很容易地设置GT.M的来源,但在此之后,当我触发gtm命令时它会卡住,也不会离开它,有人请帮帮我。
我的代码如下:
---
- name: Copying files on local machine and printing Hello msg.
hosts: webservers
user: onkar
remote_user: vistaehr
gather_facts: False
#sudo: False
tasks:
- name: copying local file
copy: src=/home/onkar/onkar/Ansible/HELLO.m dest=/home/vistaehr/VistA/testr
#shell: rm pwd.txt
- name: Print Success
debug: msg="success"
- name: changing ownership of file
#copy: src=/home/onkar/onkar/Ansible/HELLO.m dest=/home/vistaehr/VistA/testr
shell: chown vistaehr:vistaehr /home/vistaehr/VistA/testr/HELLO.m
- name: Setting Source
shell: . /home/vistaehr/VistA/env && gtm
- name: Print Success
debug: msg="success"
- name: zlinking given file
shell: zlink "/home/vistaehr/VistA/testr/HELLO.m"
答案 0 :(得分:1)
gtm
启动一个控制台,它是一个交互式过程。 Ansible正在等待被叫命令退出。由于程序永远不会退出,因此您的安全任务永远不会完成。
你想通过Ansible调用gtm
来存档什么?如果您想要启动服务,请查看service
模块或查看systemd
或init.d
,具体取决于您的系统。
在 gtm
中运行命令,您可以使用管道:
echo 'zlink "/home/vistaehr/VistA/testr/HELLO.m"' | gtm
或者作为一项安全的任务:
- name: Setting Source and zlinking given file
shell: . /home/vistaehr/VistA/env && echo 'zlink "/home/vistaehr/VistA/testr/HELLO.m"' | gtm