【发布时间】:2019-05-14 16:09:50
【问题描述】:
我创建了一个脚本来将本地文件复制到远程文件夹,该脚本在 if 条件之外工作正常,但是当我将 if 条件包含在 put 命令不起作用并使用 sftp 协议登录到远程服务器时当存在时,它会显示错误:找不到放置命令
看看执行脚本后发生了什么
Connected to 10.42.255.209.
sftp> bye
sftp.sh: line 23: put: command not found
请找到以下脚本。
echo -e;
echo -e "This script is used to copy the files";
sleep 2;
localpath=/home/localpath/sftp
remotepath=/home/destination/sftp/
if [ -d $localpath ]
then
echo -e "Source Path found"
echo -e "Reading source path"
echo -e "Uploading the files"
sleep 2;
sftp username@10.42.255.209
put $localpath/* $remotepath
else
【问题讨论】:
-
你可以简化这个并使用
scp...:scp localpath user@10.42.255.209:/remote/path/ -
也许
sftp username@10.42.255.209 <<< "put $localpath/* $remotepath"?