bash FTP 脚本中的本地文件存在条件
Local file existence condition in bash FTP script
我想从服务器获取一个文件,条件是本地目录中不存在该文件。在最终的脚本中会有很多文件,但这里是一个只使用一个的例子。
我正在尝试这个:
#!/bin/bash
HOST='a.b.c.d'
USER='anonymous'
PASSWD='pass'
ftp -n -v $HOST << EOT
user $USER $PASSWD
prompt
binary
!test -f filename && get /remotedir/remotefilename filename
bye
EOT
我得到这个错误:+bash: get: command not found
,大概是因为 get
是在本地而不是在 FTP 中调用的,但我不知道如何解决这个问题。
试试这个:
替换
!test -f filename && get /remotedir/remotefilename filename
来自
$(test -f filename && echo get /remotedir/remotefilename filename)
我想从服务器获取一个文件,条件是本地目录中不存在该文件。在最终的脚本中会有很多文件,但这里是一个只使用一个的例子。
我正在尝试这个:
#!/bin/bash
HOST='a.b.c.d'
USER='anonymous'
PASSWD='pass'
ftp -n -v $HOST << EOT
user $USER $PASSWD
prompt
binary
!test -f filename && get /remotedir/remotefilename filename
bye
EOT
我得到这个错误:+bash: get: command not found
,大概是因为 get
是在本地而不是在 FTP 中调用的,但我不知道如何解决这个问题。
试试这个:
替换
!test -f filename && get /remotedir/remotefilename filename
来自
$(test -f filename && echo get /remotedir/remotefilename filename)