2017-06-01 15 views
0

現在の日付である "OLO2OLO_20170601_FATTURA.txt.zip"タイプのファイルを取得するためのコードをシェルに書きました。 以下は私のコードです:シェルスクリプトを使って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.

現在のシェルは、あなたのFILE変数がOLO2OLO_.txt.zipこのようなファイルはおそらく、リモートサーバー上に存在しないになるように空である名前DATE_FATTURAを持つ変数の値を代入しようとしています。

+0

はい、ありがとうございました:-) これは機能しています。 – User123

関連する問題