• ベストアンサー

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

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

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

  • ベストアンサー
  • Lean
  • ベストアンサー率72% (435/603)
回答No.2

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

ai5055
質問者

お礼

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

その他の回答 (1)

  • skoma
  • ベストアンサー率52% (9/17)
回答No.1

Unix系ではこのようにします。 ftp -v -n << EOF prompt open <HOST> user <USER> <PASSWORD> cd hogehoge get hogehoge.sh hogehoge.txt quit EOF

ai5055
質問者

お礼

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