【发布时间】:2020-03-10 22:55:26
【问题描述】:
下面的命令在命令行模式下工作得很好
find . -maxdepth 1 -name "*.xlsx" -exec ssconvert {} --export-type=Gnumeric_stf:stf_csv \;
但是,在 SFTP 下载代码后在 Bash 脚本文件中添加相同内容时,它没有执行。请帮忙。谢谢!
Bash 脚本代码 -
/usr/bin/expect<<EOD
spawn /usr/bin/sftp -o Port=${PORT} username@hostname
expect "password:"
send "$Pass_Pwd\r"
expect "sftp>"
send "lcd ${Src_Dir}\r"
expect "sftp>"
send "mget ${File1}\r"
expect "sftp>"
send "mget ${File1}\r"
expect "sftp>"
send "bye\r"
EOD
echo "Download done"
find . -maxdepth 1 -name "*.xlsx" -exec ssconvert {} --export-type=Gnumeric_stf:stf_csv \;
【问题讨论】:
-
谢谢你的链接,但我的主要目的是在sftp过程完成后执行ssconvert代码,我已经修改了问题,请找到它
-
“未执行”究竟是什么意思?计算机只是在嘲笑您,还是您甚至可能收到错误消息?在后一种情况下,如果您将其发布在此处可能会有所帮助。
-
@user1934428 - 感谢您的回复!但我想你可以用更好的方式这么说。当然,我可以更精确。因此它会下载所有文件并以“下载完成”结束。所以,不知何故,它忽略了最后一行。
-
这个还是不解释。这意味着您没有看到最后一条消息。但是你说的“下载失败”,这和“没有显示消息”是不同的。我猜下载的文件不存在;那么,您发送的 ftp 命令是否有任何错误?
标签: linux bash csv converters ssconvert