rshのコマンドの書き方について

このQ&Aのポイント
  • rshとは、リモートシェルの略称で、サーバー上で実行するためのコマンドをローカルから発行するためのツールです。
  • rshコマンドを使うことで、単体のコマンドだけでなく、複数行のシェルスクリプトを実行することも可能です。
  • rcpと組み合わせて、シェルスクリプトを転送してリモートで実行したり、rmコマンドを使ってファイルを削除することもできます。
回答を見る
  • ベストアンサー

rshのコマンドの書き方について

rsh server cd temp rsh server ls など、rshの単体コマンドに関してはすでに通る状況になっています。 しかし、今回やりたいのは 「tempフォルダに降りてきて該当ファイルを削除し、その結果を表示」 などのシェルで書くならば複数行に当たる内容になります。 これも何とかできるでしょうか? rcpでシェルスクリプトを転送して、 rshで向こう側で実行して、 rshでrmする方法も考えたのですが、いまいち鬱陶しいんで スムースに書けたらなと思いました。 とりあえず、test.rshにコマンドをずらっと書いての rsh server -ni <test.rsh ではダメでした。 関係ないでしょうがOSはSorarisです。

  • elthy
  • お礼率90% (405/447)

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

  • ベストアンサー
  • ranx
  • ベストアンサー率24% (357/1463)
回答No.1

rsh server sh < test.rsh

elthy
質問者

お礼

完璧にうまくいきました! ありがとうございました。

関連するQ&A

  • シェルにて連続するコマンドの起動タイミングについて

    基本的な事ですみません。 1つのシェルファイルの中に、 コピーするコマンドrcp と シェルを実行するコマンドrshを 記載しようと思います。 ただ、コピーが終わった後にシェルを実行したいのですが、 単純にrcpとrshを連続して記載した場合、 シェル実行時はコピーが終わってるかどうか分からないのでしょうか? コピーが終わってるかどうかを確認する制御等が必要でしょうか? ・・・・・・・・・・・・・・・・・ シェルの中身(現在の予定) rcp ・・・ rsh ・・・ ・・・・・・・・・・・・・・・・・

  • Windows7でrsh,rcpを実行したい

    Windows7 Professional x64だとSUAが使えないのでフリーのrsh等を探してます。 cygwinのsshもよいのですが、手ごろに使えるrsh,rcpの利用をしたいと思ってます。 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) 何か設定等が間違っているのでしょうか? 宜しくお願い申し上げます。

  • シェルスクリプトで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----------------------------------------------

  • Windows→UNIX間におけるrcpについて

    Windows Server 2008(SUAインストール済み)からrcpを実行し、 UNIXサーバからファイルをコピーしてくる処理を行おうとしています。 しかしながら、以下のコマンドを試してみても、 上記の処理を実現することができません。 わかる方いましたら教えてください。 (1)rcp <リモート先ホスト名>.<リモート先ユーザ名>:/export/home/<リモート先ユーザ名>/<テストファイル名> C:\temp\<テストファイル名>  上記コマンドを実行すると以下のメッセージが返ってきます。(エラーレベルは0)  sh: /usr/bin/rsh<リモート先ホスト名>.<リモート先ユーザ名>: not found (2)rcp <リモート先ユーザ名>@<リモート先ホスト名>:/export/home/<リモート先ユーザ名>/<テストファイル名> C:\temp\<テストファイル名>  上記コマンドを実行してもメッセージなし。(エラーレベルは0) サーバ間の疎通については、 ホストネーム指定によるpingで応答がありました。 また、rhostsファイルの設定については、 Windows→UNIX間でrshができることを確認していますので、問題はないと判断しています。 よろしくお願いいたします。

  • 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のコマンドは正常に実行できます。 どこを確認したらよいでしょうか? よろしくお願いします。

  • rshを使用したバッチファイル

    今、あるサーバにPCからシェルをFTPして、RSHでFTPしたシェルを実行するバッチファイルを作成していますが、 コマンド1行づつをカット&ペーストで実行すると正常に動作するのですが、バッチファイルをWクリックすると、FTP は正常に動作するのですが、RSHの処理がされず、ループ? (ループの記述はなし)してしまいます。 *ECHO ONでじっこうすると、RSHの行は呼ばれているみたいですが、処理が失敗しているようです。 バッチファイルでの設定に問題があるのでしょうか? <バッチの内容 start> *IP、パス、ユーザ名は伏せさせていただきます。 ftp -s:d:\PATH\send.txt XXX.XXX.XXX.XXX rsh XXX.XXX.XXX.XXX -l USRNAM -n "chmod +x /PATH2/rsh.sh;source /PATH3/envsetUSRNAM;PATH4/rsh.sh" <バッチの内容 end>

  • solaris上のディレクトリをwindows diskへrshでtarファイルとして保存したい

    solaris上のディレクトリをwindowsからrshでtarを実行して直接windows上のフォルダにtarファイルとして保存したいのですが、コマンドが不明で困っております。 過去ログ(http://oshiete1.goo.ne.jp/kotaeru.php3?q=1139234)の#1さんの回答にあったコマンドがうまくいきません。 solaris8(Ultra-5)  ホスト名 solAAA  バックアップしたいディレクトリ /home/hogehoge windows2000proSP4  ホスト名 winBBB  保存先 C\TEMP  保存する際のtarファイル名 backup.tar コマンドプロンプトでC\TEMPにcd後、実行したいと考えております。 ちなみに↓のコマンドは正常動作を確認しております。  rsh solAAA -l root "ls -lap /" どなたか↓のコマンドの誤っている個所と、解説をお願い致します。  rsh solAAA -l root "tar cf - -C /home/hogehoge . > backup.tar" rshはsolAAA上で実行されるので、winBBBの指定がどっかに必要のような。。。 根本的にこのようなことは不可能でしょうか。

  • 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側での問題は見つかりませんでした。 以上、よろしくお願いいたします。

  • ユーザの利用コマンドを制限

    SuSE Linux 9.3 を使っております。 今回はあるユーザAに対してSSHによるログインのあとにホームディレクトリにあるシェルスクリプトだけを実行させるようなアカウントを作成したいのですが、そういったことは可能でしょうか。 また特定のユーザに対して「ls」は使わせるけど「rm」は使わせないうような細かな調整は可能でしょうか。 ※今回のユーザAに実行させたいシェルスクリプトは特定のファイルを特定のファイルにコピーして古いのは削除してしまうというシンプルなものです。