2016-07-21 25 views
0

私はfor-loopをftpスクリプトに入れたいと思います。私のコードは以下の通りです。それは働いていないと、エラーがもちろんforループをftpスクリプトに挿入することは可能ですか?

Interactive mode off. 
We only support non-print format, sorry. 
?Invalid command 
?Invalid command 
?Invalid command 
Create directory operation failed. 
local: mput: No such file or directory 
(local-files) ?Invalid command 
Hash mark printing on (1024 bytes/hash mark). 

ある

ftp -n ftp.server.com <<EOF 
    user name passwd 
    bin 
    prompt 
    for DATA in d f g l m n o p q; do 
     mkdir /directory/$DATA 
     cd /directory/$DATA 
     mput *.$DATA 
    done 
    hash 
    bye 
EOF 

私は逆、forループでは、このFTPスクリプトを置くことができます。良いアドバイスはありますか?

+0

あなたは、このように一つのセッションループ内で多くのファイルをダウンロード/アップロードをしようとしているか、あなただけのスクリプトを使用して、それを自動化しようとしていますか? –

+0

はい、いくつかのディレクトリにそれぞれファイルをアップロードしたいと思います。 –

+0

このオプション(ftp -n -v)で試してみると、ログ内でさらに省略してプロンプトが表示されるのを確認することができます –

答えて

1

bashループ内にループftpプロンプトを使用することはできません。しかし、ftpstdinをbashループ経由で生成することができます。

{ 
    echo username passwd 
    echo bin 
    echo prompt 
    for DATA in d f g l m n o p q; do 
     echo mkdir /directory/$DATA 
     echo cd /directory/$DATA 
     echo mput *.$DATA 
    done 
    echo hash 
    echo bye 
} | ftp -n ftp.server.com 
関連する問題