Bash脚本,找不到文件

时间:2019-06-30 18:13:27

标签: bash

我目前正在为Centos 7服务器制作一些脚本,目的是简化服务器的安装过程。我写了这个简单的脚本,但是找不到文件或类似的东西。

#!/bin/bash
TIME=`date +%b-%d-%y`            # This Command will add date in Backup File Name.
FILENAME=backup-$TIME.tar.gz    # Here i define Backup file name format.
SRCDIR=/imp-data                    # Location of Important Data Directory (Source of backup).
DESDIR=/backups           # Destination of backup file.
tar -cpzf $DESDIR/$FILENAME $SRCDIR 

HOST=34.77.147.135                    # 2
USER=backupuser                       # 3
PASSWORD=backup                       # 4
ftp -inv $HOST <<EOF                  # 5
user $USER $PASSWORD                  # 6
lcd /backups                   # 7
mput *.tar.gz                         # 8
bye                                   # 9
EOF
#END

我希望文件上传到给定的FTP服务器。但是我得到了这个回应:

local: # remote: #
local: #: No such file or directory
local: 8 remote: 8
local: 8: No such file or directory
221 Goodbye

1 个答案:

答案 0 :(得分:3)

ftp -inv $HOST <<EOF                  # 5
user $USER $PASSWORD                  # 6
lcd /backups                   # 7
mput *.tar.gz                         # 8
bye                                   # 9
EOF

那些“注释”不是注释,它们是<<EOF开头的here-document的一部分。例如,您正在执行命令

mput *.tar.gz # 8

失败,因为没有名为#8的文件。