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

マシンタイプ: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のコマンドは正常に実行できます。

どこを確認したらよいでしょうか?


よろしくお願いします。

A 回答 (7件)

solaris10 の ksh で


Local での実行は異常がなかった。
Login したaccount での実行だが
// time というコマンド があるので、変数としてtime はどうかな
// 関係ないと言えば関係ないが

rsh で実行できていないことになるが

local でやったらどうなりますか
// 出来るのなら、やっていると思うが

shell-script でなく
やはり、コマンドで先ずやってみたらどうですか
$ rsh server1 time=`date`
$ rsh server1 echo "rsh test $time"
これが動作するか。
    • good
    • 0
この回答へのお礼

cynthia4さん

何度もありがとうございます。

該当のシェルですが、既にリモート側にログインして実行していますが、
そちらでは問題なく実行できています。

あと、ご指摘のあった所の確認をしてみました。
コマンド全てをリモートシェルに変えたシェルを作成して実行しました。

<sendrsh.sh>
#!/bin/ksh
p=`rsh server1 date`
rsh server1 echo "rsh test $p"

こちらは問題なく実行できています。

変数名「time」に関しては問題なく実行できていますが、
他に同名のコマンドがあるという事で使用は好ましくないと思います。
修正しようと思います。

他になにか思い当たることはありますか?
よろしくお願い致します。

お礼日時:2008/06/17 18:53

実は正常に実行されているのでは?


どういう現象を以て「正常に起動されていない」と判断していますか?

server1 上の /home/test/testrsh.log に、下記のように書かれていれば正常です。
rsh test Tue Jun 17 23:39:30 JST 2008

書かれてないとすると、/home/test か /home/test/testrsh.log の書き込み権限がないのでしょう。
    • good
    • 0
この回答へのお礼

みなさん、いろいろとご回答ありがとうございました。

書き込み権限の問題でログファイルが作成されなかったのではなく、
想定していた場所以外の場所でログファイルが作成されていた事がわかりました。

再度シェルの内容を確認してみたところ、
ログの書き出し先が質問文で書いた
 /home/test/testrsh.log
ではなくて
 ./testrsh.log
となっていました。

シェルの中でカレントディレクトリの変更はしていないので、
当然ログファイルは「/home」配下に作成されます。

みなさんに様々な回答を頂いてこの結末・・・・。
お恥ずかしい限りです。

どうもありがとうございました。

お礼日時:2008/06/18 09:09

こうかも


echo "rsh test $time" ">>" /home/test/testrsh.log

http://www.linux.or.jp/JM/html/netkit/man1/rsh.1 …
    • good
    • 0

rsh server1 /bin/ksh /home/test/testrsh.sh


と実行するとどうなりますか。
    • good
    • 0

ssh で shell (bourne) では問題ないが


// 条件の違いもあるが

ksh の理由は解りませんが
ksh で動作させているなら

コマンドで、これがそもそも
$ time=`date`
$ echo $time
は、正常ですか。ksh は解らないので基本的な所から
//ksh を install する気になれないし。
// echo でも良いのだが、ksh ではprint を使うとか??
    • good
    • 0

erorr を 画面に出した方がよいのではないか


echo "rsh test $time" 2>&1 >> /home/test/testrsh.log

ksh でもこのくらいは同じだと思うが
    • good
    • 0
この回答へのお礼

ご指摘ありがとうございました。

さっそくシェルを修正してやってみましたが、
何も出力されませんでした。

という事は、リモート側のシェル自体が起動されていないという事でしょうか。

となると怪しいのは↓でNO.1の方が書かれていた実行権限ですが、
それも問題ないと思います。

難しいですね・・・。

お礼日時:2008/06/17 15:17

rsh でログインしているユーザは /home/test/testrsh.sh の実行アクセス


権を持っているでしょうか。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
質問文に情報が足りず申し訳ありません。

リモート側のシェルの権限は
フルアクセスの状態(777)です。

他にどこを疑ったらよいのでしょうか・・・。

お礼日時:2008/06/17 15:15

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