2017-06-01 193 views
0

我在shell中编写了一个代码来检索当前日期类型为“OLO2OLO_20170601_FATTURA.txt.zip”的文件。 下面是我的代码:通过shell脚本检查ftp服务器中的文件

#!/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. 

回答

1

你必须把变量名大括号。

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

下划线在变量名中有效。这不是一个令牌分隔符。

正式

name is a word consisting only of alphanumeric characters and underscores, and beginning with an alphabetic character or an underscore.

目前壳试图替代的值与名DATE_FATTURA一个变量,它是空的,所以你FILE变量变成OLO2OLO_.txt.zip这样的文件可能不会在远程服务器上。

+0

是的,非常感谢:-) 它的工作。 – User123

相关问题