こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

SolarisからWindowsへFTPするときのオプション

Solaris8上でftpコマンドに関するのシェルを作成しています。
処理概要はSolaris上にあるファイルをWindwosのFTPサーバーに送信したいのです。そのFTP処理時、FTPの一連のコマンドを記入したテキストファイルを指定して実行したいのです。Windows上でバッチ処理をするときは、以下のように処理しています。
 ftp -s:xxxx.txt
 (ここでxxxx.txtには、ftpコマンドが記入)
Solaris上でftpのオプションをmanで確認したいのですが、それらしきものがありませんでした。
 よろしくお願いします。

投稿日時 - 2005-03-22 17:33:06

QNo.1284621

暇なときに回答ください

質問者が選んだベストアンサー

FTPコマンドに標準入力からFTPコマンドのサブコマンドを渡してあげればいいです。

以下、実行方法の一例です。

$HOME/.netrc(パーミッション0600に必ずする)に以下のように形式で記述
(他ユーザにパスワード等を見られる事を防げるし、FTPを行うシェルスクリプトを複数作成する場合、いちいちそれぞれに記述しなくて済む。また、パスワードを変更した場合、この1ヶ所を直せば済むという利点があります)

machine FTPサーバ名 login ユーザ名 passwd パスワード

記述例)
machine ftpserver login ftpuser passwd ftppasswd

No.1の方のようなヒアドキュメントを使うなら

実行例)
ftp -i << _EOF_FTPCMD_
open ftpserver
cd download
mget *
bye
_EOF_FTPCMD_

質問のようなファイルとしてある場合には

FTP.txt
-------8<-------8<-------8<-------8<-------
open ftpserver
cd download
mget *
bye
-------8<-------8<-------8<-------8<-------

実行例)
# cat FTP.txt | ftp -i

投稿日時 - 2005-03-24 00:25:44

お礼

すばらしい。
ありがとうございました。
大変参考になりました。

投稿日時 - 2005-03-24 12:51:51

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

Unix系ではこのようにします。

ftp -v -n << EOF
prompt
open <HOST>
user <USER> <PASSWORD>
cd hogehoge
get hogehoge.sh hogehoge.txt
quit
EOF

投稿日時 - 2005-03-22 17:40:48

お礼

ありがとうございました。
参考になりました。

投稿日時 - 2005-03-24 12:50:40

あなたにオススメの質問