使用我在FTP上找到的一个方便的脚本,我将它修改为我自己的使用,它可以工作,但是太好了,或太字面。
#!/bin/sh
HOST='10.0.1.110'
USER='myName'
PASSWD='myPass'
FILE='*.sql' # WILDCARD NOT WORKING - Takes literal string of '*.sql'
# Stripped unrelated code
ftp -n $HOST <<END_SCRIPT
quote USER $USER
quote PASS $PASSWD
prompt
binary
cd Desktop/SweepToDiskBK
mput /home/myAcct/SQLbackups/"$FILE" "$FILE"
quit
END_SCRIPT
exit
也就是说,获取“put”的文件名为*.sql
,并替换以前的任何版本,而不是file1.sql
,file2.sql
等。在原始脚本中,他们正在使用put
而不是mput
,并使用单个文件名text.txt
。我也尝试在FILE
之后更改单引号,加倍引号,并得到相同的结果。有人能让我参与使用CLI FTP-ing变量的“技巧”吗?
提前致谢, LO
答案 0 :(得分:0)
我试试这个:
FILE=*.sql
没有任何引号启用通配符扩展 并且:
mput /home/myAcct/SQLbackups/"$FILE"
只有一个$ FILE
答案 1 :(得分:0)
但我认为你可以mput /home/myAcct/SQLbackups/$FILE
到mput *.sql
吗?或者如果你需要使用put放置几个文件,那么你需要通过某种循环逐个进行。
要检查脚本的功能,请将ftp -n $HOST
更改为cat
。在普通的ftp会话中尝试这些命令。他们有用吗?