シェル(foreachを利用した)教えて

このQ&Aのポイント
  • Foreachを使ったシェルの作成について教えて下さい。全くの初心者です。
  • 何台かのサーバ(Solaris)のバージョンをリモートログインして情報を収集したいのです。.rhostsファイルに設定しているのでパスワード入力は省略できます。
  • Foreachを使用して、複数のサーバへリモートログインしてuname -aコマンドのバージョン情報を一覧表示したいです。シェル初心者なので、ご教授願います。
回答を見る
  • ベストアンサー

シェル(foreachを利用した)教えて

Foreachを使ったシェルの作成について教えて下さい。 全くの初心者です。 何台かのサーバ(Solaris)のバージョンをリモートログインして 情報を収集したいのです。 .rhostsファイルに設定しているのでパスワード入力は省略できます。 Foreachを使用して、かなり無理やりですが、こんな感じかと つなぎ合わせてみたのですが・・・・ Foreach H (`192.168.3.2`|`192.168.3.9`) echo ${H},rsh ${H} ’uname -a’ | 収集したいことは 数台あるサーバへリモートログイン(192・・適当なアドレスです) して uname -aコマンドのバージョン情報と 取得したアドレスを 一覧表示したいのですが・・・ シェルも初心者なので、すみません 教えて下さい。 収得した結果一覧 アドレス   バージョン 192.168.3.2   10

  • PHP
  • 回答数1
  • ありがとう数0

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

  • ベストアンサー
  • mpx
  • ベストアンサー率71% (149/209)
回答No.1

CシェルはBSDでしか使ったことは有りませんので echoのオプション(-n)はSolarisでも同じか分かりませんが こんな感じでしょうか foreach i (192.168.3.2 192.168.3.9) echo -n $i echo -n ' ' rsh $i uname -a end

関連するQ&A

  • Linux間のリモートシェルの実行について

    マシンタイプ:x225 カーネル: 2.4.20-28.7smp OS:Red Hat Linux 7.3 2.96-126)) 上記のLinuxサーバからrshで同じタイプのリモートのLinuxサーバのシェルを起動しようとしましたが正常に起動されません。 状況としては rsh実行時は特にエラーメッセージが出ることもなく、正常に実行されたかのように終了してしまうため、何が悪いのかもわからない状態です。 実行したコマンドとリモート側のシェルの内容は以下の通りです。 rsh server1 /home/test/testrsh.sh <testrsh.sh> #!/bin/ksh time=`date` echo "rsh test $time" >> /home/test/testrsh.log ちなみに rsh server1 date や rsh server1 uname 等のLinuxのコマンドは正常に実行できます。 どこを確認したらよいでしょうか? よろしくお願いします。

  • win7間でのrsh利用

    win7間でのrsh利用についてご教授お願いします。 ※[技術者向け]コンピューター/Windows系OS及びネットワークセキュリティに投稿しておりましたがレスが付かなかった為、こちらに投稿させて頂きました。 現在、社内ネットワーク(ドメイン)に設置しているXP間でリモートシェルサービスを活用しておりましがXPのサポート終了に伴い、Win7に置き換えたところうまく動作しません。 状況は以下の通りです。 <サーバー側の設定> rshd1.8-Setup.exe(Vista以降、リモートシェルサービスが標準で無くなっているため、左記のフリーツールを使用) C:\Program Files\rshd へインストール C:\Program Files\rshd\bin\rshd.exe -install を実行(これによりサービスが追加される)。 ローカルコンピューターのサービスでRSH Daemonが開始されている ※サービスを開始するのにC:\Windows\rhostsが存在しないとエラーになる為作成  念のため同様の内容で下記はパスにも作成 (1)C:\Windows\.rhosts (2)C:\Windows\rhosts (3)C:\Windows\System32\drivers\etc\.rhosts ※XPでは(3)で使用していた rhosts内容 クライアントのホスト名  クライアント側でのログオン中のユーザー名 実行コマンド C:\>rsh サーバーホスト名 -l クライアント側のログオン中ユーザ名 実行いしたいコマンド サーバー~クライアント間との通信状況 別セグメントだが、相互でIPおよびホスト名でもPing ok ファイアウォール設定はすべて無効化済み 有効にしていると 『cannot connect to socket: この操作を正しく終了しました。』 と表示されます。 クライアント側エラー cannot log in as local user ユーザ名, remote user ユーザ名 Permission denied by rshd ちなみにWin7クライアントから既存のXPのリモートシェルサーバー間での動作は問題ありません。 おそらくWin7のリモートシェルサーバー設定に問題があるかと思われます。 ご教授のほど、よろしくお願い致します。

  • シェルスクリプトでwhileを用いてrshを繰り返し使う場合

    Bシェルスクリプトでリモートシェル(rsh)を使う場合の質問です。 現在、以下のような状態です。 有識者の方、アドバイスをお願いします。 ・Aでは、ループされずhostAの場合のみ処理がされます。 (while文が効いていない) ・Bでは、ループされて問題なくhostA,hostB,hostCが処理されます。 (while文が効いている) なぜなのでしょうか。。。(r系コマンドの特性?) ちなみり、リモート側のサーバには.rhostsが設定してあり 問題なくコマンドが通ることは確認済みです。 スクリプトA---------------------------------------------- #!/bin/sh while read line ; do rsh $line hostname done <<END hostA hostB hostC END スクリプトA---------------------------------------------- スクリプトB---------------------------------------------- #!/bin/sh while read line ; do echo " HOST=$line" done <<END hostA hostB hostC END スクリプトB----------------------------------------------

  • unixからwindowsへリモートシェルを実行したい

    unixからwindows2000serverのプログラム(VBのexeファイル)を リモートで実行したいのですが、何か良い方法がありました教えて下さい。 また、unix側、windows側でインストールすべきS/W等がありました教えて頂けますでしょうか。 よろしくお願い致します。 参考までに、以下の内容は自分で調査しましが、実現には至りませんでした (何かが間違ってるのかもしれませんが・・・)  ・SSH(unix・winそれぞれに設定方法がよくわからない)  ・unixからtelnetログイン(telnetログイン・UID/PASSWD入力・winプログラム   実行を自動化(シェル化)の仕方がわからない)  ・unixからrshを実行(windows2000ではrshを受付けない?)

  • リモートシェルサービスの起動確認について

    「Subsystem for UNIX-based Application (SUA) を利用した、rsh サーバーの設定について」 (http://technet.microsoft.com/ja-jp/windowsserver/ff706484.aspx) に従い、Windows2008serverにSUAをインストールから設定まで行い、 サーバー再起動を行いました。 しかしサービス一覧にもプロセスにもリモートシェルサービスがおらず、 サービス起動されていないようです。 起動させる方法(コマンド?)もしくは起動を確認する方法がありましたら教えていただけないでしょうか? 足りない情報等あればご指摘ください。

  • LinuxからWindowsサーバへのrsh

    はじめてですが、Unix/LinuxからWindows2000サーバおよび2003サーバへのrshを起動するために必要な環境について質問をさせていただきます。 逆向き(WindowsからUnix)については実績があります。 リモートホストのWindows側のhostsファイルにUnixのアドレスと名前を登録、ローカルホストのUnix側のhostsや.rhostsファイルにWindowsのアドレス、名前、ユーザ情報を登録するとWindows側でUnixコマンドが遠隔起動できます。 今、実現したいのは、Unix/Linuxをリモートホスト、Windows2000サーバおよび2003サーバをローカルホストとしてUnix/Linux側からWindows側の処理を遠隔起動することです。 hostsや.rhostsファイルは、設定する側が逆になるだけで、考え方は同じと思われます。 Windows側でrshのデーモンプロセスが起動している必要があると思われます。 巷では、WindowsにSFUやSUA(Unixエミュレータ)を導入すればできるという情報が多い様です。 SFUやSUAを導入せず、rshのデーモンプロセスを単独でかつフリーで入手することは可能でしょうか? Windowsのバージョンにより、デーモンプロセスが標準で装備されていたり、別途導入する必要があったりするのでしょうか? よろしくお願いいたします。

  • シェルスクリプトについて

    とあるUNIXサーバが1台あるとします。 でそのマシン上の管理プログラムが同一マシン上にある 「シェルスクリプト(bash)」をキックするとします。 となるとそのシェルスクリプトの実行者(?)は Unixにログオンしているユーザーになるのでしょうか?。 目的としてはそのログインしているユーザーの環境変数 をシェルから参照したいのですが・・ 考え方がWindowsなもので。。すみませんが よろしくお願いします。

  • シェル上からWEBログイン

    シェル上からWEBログイン 取得したフリーアドレスが30日に一度ログインしないと削除されてしまうのですが、 そのフリーアドレスは常に自動返信させたまま使い続けたいのです。 たまにログインすればよいのですが、できればシェルスクリプトで 自動的にログインだけできないかと考えてます。 ベーシック認証ならwgetで--http-user=USERとパスワードを利用すればログインできますが、 プロバイダのフリーアドレスだとIDパスの入力フォームになっているので困っています。 GETとかPOSTとか自分の要望にかないそうなコマンド?はみつかったのですが どうしたらよいかわかりません。 Windowsでvbsを作って自動的にログインさせる事はできますが、 LINUXサーバー内で勝手にログインを行わせたいと思っています。 パールとかPHPとかbashとか何でも良いので、LINUXサーバ内で フリーアドレスへログインするツールを作成できないでしょうか。

  • windows7からUNIXへのrsh方法

    お世話になっております。 現在windows7(A)からSUAを使用してunixサーバ(B)へリモートシェルを 実行したく調査しております。 unixからwindows7へのrsh(以下のコマンド)は成功するのですが 肝心の逆windows7からunixのrshが 「permission denied 」となり失敗してしまいます。 ■テストコマンド (1)windows7(A)からunix(B)へ    rsh B -l Buser ls   ← 失敗 (2)unix(B)からwindows7(A)へ    rsh A -l Auser ls    ← 成功 「.rhosts」や「hosts」の設定等は行い、rloginができることは 確認しております。(AからBとBからA両方ともOK) 何か設定等が間違っているのでしょうか? 宜しくお願い申し上げます。

  • SolarisからWindowsへのrsh実行方法

    現在、SolarisサーバからWindowsXPへリモートシェルを発行する手順について確認を行っております。 サーバ:Solaris9 クライアント:Windows XP SP3 各種設定を行い、SolarisサーバよりWindowsXPへリモートシェルを発行したのですが、エラーメッセージが出ており、原因と解消方法についてご教示いただきたいです。 設定内容 ・Windows XPへWindows Services for UNIX 3.5、Windowsリモートシェル サービスのインストール ・.rhostsにSolarisサーバを追加 ・WindowsのユーザにSolarisの実行ユーザをAdministrator権限で追加 ・Solaris側では特に設定を行っていない Solaris 側で実行したコマンド "rsh IPアドレス C:\test\test.bat" Solarisで表示されたエラーメッセージ "Unable to execute the command" 切り分けとしてSolaris側に原因が無いかサポートに問合せを行いましたが、 Windowsへコマンドを送信していることを確認し、Solaris側での問題は見つかりませんでした。 以上、よろしくお願いいたします。

専門家に質問してみよう