在剧本

时间:2018-11-01 18:34:59

标签: ansible

- hosts: all 

  ignore_errors: yes

  tasks:
  - name: Install BKUP

    command: yes | var/tocopy/Client/install

错误消息:

  

回溯(最近通话最近):文件   “ /tmp/ansible_HXcBpN/ansible_modlib.zip/ansible/module_utils/basic.py”,   第2817行,在run_command中       stdout + = self._read_from_pipes(rpipes,rfds,cmd.stdout)MemoryError

     致命:[]:失败! => {       “已更改”:错误,       “ cmd”:“是'|' var / tocopy / Client / install”,       “调用”:{           “ module_args”:{               “ _raw_params”:“是| var / tocopy / Client / install”,               “ _uses_shell”:否,               “ chdir”:null,               “创建”:null,               “可执行”:null,               “删除”:null,               “ stdin”:null,               “警告”:为true           }       },       “ msg”:“”,       “ rc”:257} ...忽略META:运行处理程序META:运行处理程序

1 个答案:

答案 0 :(得分:0)

戏剧

command: yes | var/tocopy/Client/install

当脚本var/tocopy/Client/install未终止时,永远不会终止,因为手册页指出yes

  

是-重复输出一个字符串直到被杀死

永远不会被杀死。内存错误是随后的错误,因为输出缓冲到某处并耗尽了所有内存。

因此,使用另一个像这样终止的command

command: echo y | var/tocopy/Client/install

如果您需要在脚本中输入字符串y,则最好使用expect module