Unix全般 -> シェル -> Bash





リモートシェルの戻り値を確認する


リモートホストにディレクトリが存在するかチェックする。
この場合 $? は test コマンドの戻り値ではなく、rsh の戻り値になるので
リモートシェルが成功した場合 0 になる。

$ rsh host01 "test -d /var/log/access"
$ echo $?
0
$


リモートで実行したコマンドの戻り値(この場合 testコマンド)は
以下のように記述する
リモート側での実行コマンド部分を "" で囲まないと戻値は取れない

$ rsh host01 "test -d /var/log/access; echo \$?"
1  testコマンドの戻り値。 $?を \でエスケープする。
$ echo $?
0  rsh の戻り値
$

シェルを実行する場合

$ rsh host01 "/opt/script/backup.sh; echo \$?"
0 backup.sh の戻り値
$ echo $?
0  rsh の戻り値
#


戻り値を変数に代入する場合(コマンド全体を``で囲む)は
エスケープ文字を追加する

RET=`rsh host01 "test -d /var/log/access; echo \\$?"`
$ echo $RET
0
$

さらに"で囲む場合
RET="`rsh host01 \"test -d /var/log/access; echo \\\$?\"`"
$ echo $RET
0
$


イメージ図








先頭へ

      Document-Folder          一覧
HP-UX
HULFT
JAVA
JP1
JavaScript
Linux
MAC
PHP
Perl
Python
Ruby
SOA
Solaris
Unix全般
Windows
XML
エクセル
スタイルシート
セキュリティー
データベース
ネットワーク
パソコン
ブラウザ
プログラム構文
仮想化
          RSS-Folder
ニュース
   アットマーク・アイティ(@IT)
   シンクイット(ThinkIT)
   インターネットコム
   インターネットウォッチ
   日経IT-Pro
   日経パソコン
   CNET Japan
   ZD-NetJapan
   MYCOM
   RBB-Today
ベンダー
   日本IBM
   日本HP
   サンマイクロシステムズ
   NEC
   富士通
   日立
ソフトウェア
   マイクロソフト
   トレンドマイクロ
   オラクル
   サイボウズ
   Mozilla
   野村総合研究所
   (その他ソフトウェア企業)
更新履歴 一覧
 07/08 PERF
プログラム構文
 07/07 PERF
プログラム構文
 06/25 オブジェクトプログラミング2
Perl>サンプル
 07/12 クローン作成
仮想化>vCenter
 07/12 vyatta設定
ネットワーク>vyatta
 07/12 vyattaインストール
ネットワーク>vyatta
 07/12 リポジトリサーバ
Linux>サーバ構築
 07/05 VMwareのインストール
仮想化>VMware
 07/05 PXEブート
仮想化>KVM
 07/01 DHCPでのPXEブート
仮想化>KVM
 06/27 qcow2仮想DISK作成
仮想化>KVM
 06/13 NWの設定
仮想化>VMwareEsxi
 06/13 IPアドレスの変更
仮想化>VMwareEsxi
 06/12 自動ssh
Unix全般>シェル>Bash
 06/12 diffプログラミング
Python
Google