我是Shell Script的新手。请帮忙。
进程正在特定位置创建触发器文件。我想检查是否已创建该文件。所以我正在编写一个shell脚本,可以安排在估计的过程结束时间之前15分钟运行。
function go()
{
ssh -o StrictHostKeyChecking=no $SSH_User_IP
scp $PMROOT/NACO/SrcFiles/SDS/sds/sds_interface_core.trg $SSH_User_IP:$PMROOT_Fload/td_import/interface/sds/sds_interface_core.trg
sleep 3
}
while true
do
go
done
我必须检查的位置是另一台我必须做ssh的unix机器。所以我需要的帮助是把事情放在一起,这样我的脚本就可以通过ssh连接并每1分钟检查一次触发文件。
答案 0 :(得分:0)
Ssh返回远程命令的退出代码。这应该有效:
while true; do
ssh username@remotehost "[ -e /path/to/file/to/check ]"
if [ $? -eq 0 ]; then
echo "file exists!"
break
fi
sleep 60
done
哈努哈利
答案 1 :(得分:0)
这个怎么样?
while true; do
ssh hostname "test -f /some/file" && { echo "file exists"; break; }
sleep 60
done