我试图在远程服务器上执行本地脚本,方法是将它写入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我编写了“exit”,但是控件没有返回到父脚本。它挂在远程服务器上。:(
发布于 2014-03-18 13:57:02
将退出状态写入远程主机上的文件中,稍后使用ssh/scp/sftp从远程主机中提取。
直接通过ssh,您将不会从另一个主机获得退出状态。
https://stackoverflow.com/questions/22481371
复制相似问题