以下是我的脚本,但在连接到sftp后它无法正常工作。 请帮我解决一下这个。
我没有收到任何错误。它没有进入循环。
#!/bin/bash
CURRENT=`pwd`
File_Path=/appinfprd/bi/info/Client/Scripts/Test/
cd $File_Path
sftp STREAM@abc.sxm.com
for D in *;
do
echo $D;
File_count=`find $D -type f| wc -l;`
echo $File_Path$D '|' $File_count >> File_count.txt
done
exit
答案 0 :(得分:0)
在将sftp连接到目标计算机本身之前,您将转到文件路径。
File_Path=/appinfprd/bi/info/Client/Scripts/Test/
那么你想在哪里实际计算文件?在源系统或目标?
如果要在远程计算机中运行一组命令并将结果存储在那里,请将这些命令存储到批处理文件中,如commands.batch,并运行如下:
sftp -b commands.batch STREAM@abc.sxm.com
对于使用ssh运行,因为它是执行上述命令的更好方法,将命令存储到文件script.sh中并运行如下。
ssh -o BatchMode=yes abc.sxm.com sh -s < "script.sh"