我对“sftp”有一个小问题。
我有一个脚本,它只是将文件传输到远程sftp服务器。但是当这个脚本运行时,它在sftp失败并且我的脚本失败了。 所以,我必须手动传输文件,使用与我在脚本中使用的命令相同的命令,并且它工作正常。
所以我的问题是当我手动运行时sftp命令运行顺畅,但是当通过脚本运行相同的命令时会产生问题。
这是我正在使用的代码
sftp -v -b sftp_input.txt UserId@aa.bb.cc.dd
if (($? > 0 ));
then
echo "sftp error. Exiting.."
exit
fi
其中sftp_input.txt包含将文件放入远程服务器的cmd。
请建议.....
答案 0 :(得分:0)
脚本无法正常工作,因为它格式不正确。您忘记将if
语句分开,也忘记了结束fi
。这是脚本的正确形式:
sftp -v -b sftp_input.txt UserId@aa.bb.cc.ddd
if (($? > 0 )); then
echo "sftp error. Exiting.."
exit
fi
如果你想要一行,那么:
sftp -v -b sftp_input.txt UserId@aa.bb.cc.ddd; if (($? > 0 )); then echo "sftp error. Exiting.."; exit; fi
但是你可以看到这是一个坏主意。最好编写可读和良好缩进的代码。