我是一个贝壳菜鸟。我正在尝试编写一个简单的脚本,它将拍摄一个屏幕并将其上传到我的服务器,当我在终端中逐行执行时,这一切都很有效,但是当我尝试通过我的简单脚本实现这一点时上传的文件似乎已损坏。我比较了两个文件(由于我的脚本而上传的已损坏文件和在我手动执行此操作时上传的未损坏文件)在十六进制编辑器中它们几乎相同但不是。当我在终端中逐行执行同样的操作时,运行不苛刻的脚本时,知道我的图像发生了什么吗?
这是我的剧本:
#!/bin/sh
screencapture -x ~/Desktop/screencap.png
HOST='mysite.com'
USER='myUsrName'
PASSWD='myPassWord'
DIR='DESKTOP_CAPS'
FILE='screencap.png'
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
cd $DIR
put $FILE
quit
END_SCRIPT
exit 0
感谢!!!
答案 0 :(得分:2)
使用binary
命令将文件传输模式设置为二进制
(二进制模式每个字节传输所有8位,因此传输错误的机会较少,必须用于传输ASCII文件以外的文件)