gpt4 book ai didi

bash - ssh脚本不会将控制权返回给父脚本

转载 作者:行者123 更新时间:2023-12-02 14:10:28 25 4
gpt4 key购买 nike

我试图通过将其写入ssh命令的标准输入来在远程服务器上执行本地脚本。该脚本可以正常运行,但是ssh不会退出:它只是挂起,控件也不会返回到父脚本。

父壳:

for HOSTNAME in ${HOSTS} ; do
ssh -t -t $HOSTNAME "bash -s" < ~backup_conf.sh
done

称为脚本:
#!/bin/sh    
AGENT_BASE_PATH=/home/lokesh

if [ -d "$AGENT_BASE_PATH/CI/DE_deployment/conf" ]; then
if [ -d "$AGENT_BASE_PATH/CI/temp/conf_bkup" ]; then
rm -rf $AGENT_BASE_PATH/CI/temp/conf_bkup
fi
cp -R $AGENT_BASE_PATH/CI/DE_deployment/conf $AGENT_BASE_PATH/CI/temp/conf_bkup
fi
exit

我已经写了“退出”,但是控件没有返回到父脚本。
它卡在远程服务器上。...:(

最佳答案

罪魁祸首是您的调用代码中的bash -s行,该行仍期望输入使用ctrl-C结束:

尝试以下方法:

for HOSTNAME in ${HOSTS} ; do
ssh -t -t $HOSTNAME "bash ~backup_conf.sh"
done

关于bash - ssh脚本不会将控制权返回给父脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22481371/

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