アプリ版:「スタンプのみでお礼する」機能のリリースについて

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の中身はカラっぽでした。

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

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

A 回答 (3件)

以前の質問に答えてから、手動でやってもできるなと気付きました。

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

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

この回答への補足

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

補足日時:2003/07/01 14:34
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/07/01 14:41

以前同じ質問に答えました。

参考URLをどうぞ。

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

この回答への補足

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

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

補足日時:2003/06/24 15:38
    • good
    • 0

ls -l > log



としたら、どうでしょうか?
    • good
    • 0
この回答へのお礼

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

お礼日時:2003/07/01 14:41

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A