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

解決済みの質問

ftpコマンド出力結果の取得

ftpコマンドのバッチ処理によってファイルの一覧の結果を取得したいのですが、
リダイレクション等を用いても取得できません。
どのようにすればいいか教えてください。

**************状況*************
OSおよびOSレベル:AIX5.2
シェル:Kシェル

コマンドファイルの中身(ftp.txt)
cat << EOF | ftp -n
open SERVER
user USER PW
cd PATH
ls -l
bye
EOF

SERVER:実際のサーバー名
USER:実際のユーザー名
PW:実際のパスワード
PATH:実際のパス

これを以下のように実行し、結果を取得しようとしました。
# ./cmd.ftp > log

しかし、出力ファイルlogの中身はカラっぽでした。

ところが、リダイレクションを外し、コマンドファイルのみを実行すると、結果が画面に表示されます。

何故、画面には表示されるのに、リダイレクションやパイプでは結果が渡されないのかが分かりません。

投稿日時 - 2003-06-24 12:28:04

QNo.583636

cre

すぐに回答ほしいです

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

以前の質問に答えてから、手動でやってもできるなと気付きました。creさんの環境でできるか分かりませんが、試してみてください。
コマンドラインから、
ftp SERVER | tee ftp.log
としてください。あとは普通に手動でftp操作をします。ただし私の環境では、ログイン時のユーザ名入力のプロンプトが表示されませんでしたが、表示されているものとしてユーザ名を入力したら、パスワードを聞いてきました。あとは普通にftp操作をして終了すれば、全ての操作履歴がftp.logに記録されます。

結果報告お待ちしてます。

投稿日時 - 2003-06-24 16:42:00

補足

アドバイスありがとうございます。
damejan様のteeコマンドという方法も実は検証済みでした。
断定はできないのですが、やはりOSのバージョンによる問題のようです。
解決方法として-vオプションを付加するという方法で
なんとか回避できました。

投稿日時 - 2003-07-01 14:34:24

お礼

すみません。
お礼を補足に書いてしまいました。

投稿日時 - 2003-07-01 14:41:49

ANo.3

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

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

回答(3)

ANo.2

以前同じ質問に答えました。参考URLをどうぞ。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=560364

投稿日時 - 2003-06-24 13:59:11

補足

はい、その参考URLはすでにチェックしてあります。
その通りに実行しても期待値は得られませんでした。

先ほど、AIXバージョン4.3.3のサーバで試してみたら
期待値が得られました。
多分、OSのバージョンが上がったことによる
障害だと思っているんですけど。

投稿日時 - 2003-06-24 15:38:48

ANo.1

ls -l > log

としたら、どうでしょうか?

投稿日時 - 2003-06-24 12:53:12

お礼

回答ありがとうございます。
ftpログイン時ではリダイレクションは使えないはずです。

投稿日時 - 2003-07-01 14:41:07

あなたにオススメの質問