質問: solarisからwindowsへftpするときのオプション solaris8上でftpコマンドに関するのシェルを作成しています。 処理概要はsolaris上にあるファイルをwindwosのftpサーバーに送信したいのです。そのftp処理時、ftpの一連のコマンドを記入したテキストファイルを指定して実行したいのです。windows上でバッチ処理をするときは、以下のように処理しています。 ftp -s:xxxx.txt (ここでxxxx.txtには、ftpコマンドが記入) solaris上でftpのオプションをmanで確認したいのですが、それらしきものがありませんでした。 よろしくお願いします。
回答: 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