在shell脚本中处理tftp目录列表(bash)

时间:2017-10-11 18:16:48

标签: bash parsing directory tftp

我想从ftp服务器处理目录列表。在一天结束时,我想删除ftp服务器上的旧文件,但我还没有。我在解释目录列表中的行时遇到问题。我是shell脚本的新手,所以请耐心等待。这可能是我犯下的一个非常基本的错误....

当我运行此脚本时,您会找到下面的代码段和打印输出。

    #!/bin/bash
    # LOCAL/FTP/SCP/MAIL PARAMETERS
    SERVER="xxx.yyy.zzz"  # IP of  NAS, used for ftp
    USERNAME="joe"         # FTP username of Network disk used for ftp
    PASSWORD="joe1234"         # FTP password of Network disk used for ftp
    DESTDIR="/opt/backup"   # used for temorarily storage
    DESTDIRNAS="/sdb1/domoticz_backup/A/" # Path to your  NAS backup folder
    DOMO_IP="192.168.0.243"   # Domoticz IP
    DOMO_PORT="8085"        # Domoticz port # get directory listing from remote source

putdir=$DESTDIRNAS
ftp -n $SERVER > /tmp/dirlist <<END_SCRIPT
quote USER  $USERNAME
quote PASS $PASSWORD
cd $putdir
ls -l
quit
END_SCRIPT


cat /tmp/dirlist | while read LINE; do
  echo $LINE
  awk '{print $9}' $(LINE)
done;

输出如下:

pi@raspberrypi:~ $ ./test.sh
-rwxrwxrwx 1 0 0 229632 Oct 09 07:27 domoticz_20171009092723.db.gz
./test.sh: line 23: LINE: command not found
domoticz_20171009105333.db.gz
domoticz_20171009111940.db.gz
domoticz_20171009113716.db.gz
domoticz_scripts_20171009105333.tar.gz
domoticz_scripts_20171009111940.tar.gz
domoticz_scripts_20171009113716.tar.gz
pi@raspberrypi:~ $

文件/ tmp / dirlist包含7行,类似于运行脚本时打印的第一行。但是,脚本无法解析第一行,但会引发错误。后续行工作正常,但它们不会由echo命令打印。我无法弄清楚为什么这不起作用....

0 个答案:

没有答案