Aks*_*ath 5 ssh bash shell ansible
sleep 0
shell脚本中的作用是什么?我阅读了 sleep 的手册页,它说“延迟指定的时间”,参数 NUMBER 以秒为单位指定这个时间(默认情况下)。
但我看到 ansible 用于sh -c 'echo ~ec2-user && sleep 0'
开始每个任务。此外,它在发出的每个远程命令的末尾都使用它。
我在手册页上没有发现任何有关 sleep 0 的特殊情况,并且根据该sleep
命令的功能,使用 sleep 0 没有任何意义。
我的服务器上的命令sleep
来自GNU coreutils 8.22
经过一段时间的研究后,我学到了一些东西,
/etc/ssh/ssh_config
ansible 正在执行的 SSH 中是否有我看到的所有参数/参数例如,ansible 执行任何任务时开头的日志行:
<localhost> SSH: EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o 'User="ec2-user"' -o C
onnectTimeout=120 -o ControlPath=/home/ec2-user/.ansible/cp/6bc5a26ee4 localhost '/bin/sh -c '"'"'echo ~ec2-user && sleep 0'"'"''
<localhost> (0, '/home/ec2-user\n', '')
<localhost> ESTABLISH SSH CONNECTION FOR USER: ec2-user
Run Code Online (Sandbox Code Playgroud)
我正在执行一个团队编写的 ansible 剧本,但该团队中没有人可以与我交谈。我正在努力寻找 Ansible 在每个 SSH 中使用的所有这些参数的位置以及为什么使用它sleep 0