我想使用FTP从服务器下载文件。
这是我的脚本代码。(myscript.sh)
#!/bin/ksh
ftp -n $1 << END
user $2 $3
lcd $4
get $5
bye
EOF
编写脚本并运行后,它不起作用。
sh myscript.sh 111.222.333.444 testuser test /myfolder/src/data/ DATA20140419.txt
外壳显示此消息:用法LCD本地目录
我的脚本代码有什么问题?
我解决了这个问题。
原因是编码。
我使用Windows编写了脚本代码,并在Unix中运行。
我错过了“ ENTER”的区别。
UNIX的回车是\ n
但是,Windows输入是\ r \ n
因此,如果不对脚本代码进行编码,则必定会发生错误。
大多数Windows编辑器都提供编码选项。(UNIX,DOS,WINDOWS样式。)
如果您使用unix编辑器(例如,vi),则无需编码。
添加。
如果未设置远程目录(cd)或本地目录(lcd),则源和目标为默认文件夹。
结束,EOF不会影响脚本代码。您可以使用任何字符串。
要运行shell脚本,必须使用“ sh”关键字。“ ./”不能运行shell脚本。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句