gpt4 book ai didi

linux - 如何在bash中向后台发送ssh命令

转载 作者:太空宇宙 更新时间:2023-11-04 04:45:37 28 4
gpt4 key购买 nike

我的脚本中有以下行:

output=$(sudo ssh root@172.20.209.11 "/etc/config/users/pzsr7z/scripts-modified/scripts/wizard/enroller 10.193.22.236 22 WDCCRNMTS001 WDCCR-1-COMPT-R102 8")

如何将其发送到后台,以便在该行处理后台时脚本可以继续处理其其余行?

我尝试在行尾添加 &,但最终出现了一些奇怪的行为(击键未正确处理)

最佳答案

将 stdin 从/dev/null 以及 stdout 和 stderr 重定向到文件:

cmd="/etc/config/users/pzsr7z/scripts-modified/scripts/wizard/enroller 10.193.22.236 22 WDCCRNMTS001 WDCCR-1-COMPT-R102 8"
ssh root@172.20.209.11 "$cmd" </dev/null >enroller.log 2>&1 & ssh_pid=$!

...然后,您可以等待它完成并读取文件:

if wait "$ssh_pid"; then
echo "Remote command exited with a successful exit status" >&2
else
echo "Remote command exited with a failed exit status" >&2
fi
output=$(<enroller.log)

关于linux - 如何在bash中向后台发送ssh命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38592192/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com