【问题标题】:checking for a file in ftp server through shell script通过 shell 脚本检查 ftp 服务器中的文件
【发布时间】:2017-06-01 13:30:41
【问题描述】:

我在 shell 中编写了一个代码来检索当前日期的“OLO2OLO_20170601_FATTURA.txt.zip”类型的文件。 以下是我的代码:

#!/bin/ksh

DATE=`date '+%Y%m%d'`
FILE="OLO2OLO_$DATE_FATTURA.txt.zip"

/usr/bin/ftp -n 93.179.136.9 << !EOF!
user abc 1234
cd "/0009/Codici Migrazione"
get $FILE
bye
!EOF!

但我遇到以下错误:

$ ./ftp_test1
Failed to open file.

【问题讨论】:

    标签: shell unix ftp


    【解决方案1】:

    你必须把变量名放在大括号里。

    FILE="OLO2OLO_${DATE}_FATTURA.txt.zip"
    

    下划线在变量名中有效。它不是标记分隔符。

    正式

    name 是一个仅由字母数字字符和 下划线,并以字母字符或 下划线。

    当前 shell 正在尝试用一个名为 DATE_FATTURA 的变量替换一个值为空的变量,因此您的 FILE 变量变为 OLO2OLO_.txt.zip 远程服务器上可能不存在此类文件。

    【讨论】:

      猜你喜欢
      • 2012-04-23
      • 2020-08-08
      • 2013-12-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-09
      相关资源
      最近更新 更多