OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

FTPコマンドの戻り値について

  • すぐに回答を!
  • 質問No.119378
  • 閲覧数4881
  • ありがとう数4
  • 気になる数0
  • 回答数2
  • コメント数0

お礼率 43% (13/30)

UnixのシェルでFTPを行っていますが、
接続不可の時にエラーの戻り値を取りたいと考えています。

ただ、

OPEN XXX
user aaa acount bbb
get ファイル名 取得先/ファイル名
bye

というシェルを実行した場合、接続先XXXが有り得ない場合、
戻り値($?)が0以外かと思っていたのですが、表示させると0になっていました。
接続できません、というメッセージは表示されるのですが。。。
戻り値でエラーを判断する方法をご存知の方、よろしく
お願いします。
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル7

ベストアンサー率 44% (11/25)

こんにちわ。
当方ではftpを自動実行する際、以下のようにしてます。

以下、シェルの内容
------------------------------------------------------------------
#!/bin/csh
ftp -n ホスト名 <<EOF >& 標準エラー出力リダイレクトファイル名
user aaa acount bbb
get ファイル名 取得先/ファイル名
bye
EOF

if (-z 標準エラー出力リダイレクトファイル名) then
exit(0)
else
exit(1)
endif
------------------------------------------------------------------
以上、シェルの内容

簡単に言うと、ftpコマンドにてエラーが発生するとそれらは標準エラー出力
に出力されるので、それをリダイレクトしてファイルサイズが0バイトであれ
ばエラーがなかったと判断しています。
エラーが発生した場合は、そのリダイレクトしたファイルを見れば内容がわかります。
今のところ問題なく動作しています。
お礼コメント
m_miyachan

お礼率 43% (13/30)

現在テストのできない状況になってしまったので、
確認ができないのですが、それでいけそうな気がします。
どうもありがとうございました!
投稿日時 - 2001-08-17 11:11:10
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル10

ベストアンサー率 31% (44/140)

ping コマンドで一度接続して確認すればどうでしょう。 ping XXX -n 1 >& /dev/null と実行し、失敗すれば 0以外が返ります。 ...続きを読む
ping コマンドで一度接続して確認すればどうでしょう。

ping XXX -n 1 >& /dev/null
と実行し、失敗すれば 0以外が返ります。
お礼コメント
m_miyachan

お礼率 43% (13/30)

pikacchuさんのところにも書いた通り、現在テストが
できない状況になってしまいました。
できるようになったら早速試してみます。
早速のご回答、どうもありがとうございました。
投稿日時 - 2001-08-17 11:14:13
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
このQ&Aにこう思った!同じようなことあった!感想や体験を書こう
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ