- PR -

SFUでkshスクリプトが動きません。

1
投稿者投稿内容
noku
常連さん
会議室デビュー日: 2005/07/21
投稿数: 20
投稿日時: 2005-08-15 14:54
例えばですが
echo $$
当然打つとPIDが返ってくるのですがこれをスクリプトにすると動きません。
返りメッセージは「/bin/ksh: test.sh: not found」
ちなみに「which ksh」は「C:\SFU\bin\ksh」です。
kshを読みにいけてない感じなのですが、自分なりに変数をいじってみましたが駄目でした。
どなたか、ご存知の方お願いします。




[ メッセージ編集済み 編集者: みっち〜 編集日時 2005-08-15 14:54 ]
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2005-08-15 15:08
test.shに実行権限がないか、
または、Pathが通ってないだけなのでは?

[ メッセージ編集済み 編集者: Edosson 編集日時 2005-08-15 15:09 ]
noku
常連さん
会議室デビュー日: 2005/07/21
投稿数: 20
投稿日時: 2005-08-15 16:18
Edossonさん
ありがとうございます。
実行権は変えてありますので、問題ないです。

.profileに:\SFU\bin\kshを追加しましたが同じメッセージでした。
そういえばsetにSHELLが無いのですがこれが問題なんですかね?
当然echo $SHELLも何も返ってこないです。
Edosson
ぬし
会議室デビュー日: 2004/04/30
投稿数: 675
投稿日時: 2005-08-15 16:23
test.shのPathはどうでしょうか?
test.shが存在するディレクトリから実行するなら、

$ ./test.sh

で、どうでしょう。
あと、test.shの先頭に、

#! C:\SFR\bin\ksh

が必要だったりしませんか?

<追記>
shellはちゃんと動いてると思いますよ。
test.shが見えないだけかと。
[ メッセージ編集済み 編集者: Edosson 編集日時 2005-08-15 16:32 ]
<追記2>
エラーメッセージから察するに、スクリプトの先頭は
#! /bin/ksh
でいいのかも。

[ メッセージ編集済み 編集者: Edosson 編集日時 2005-08-15 16:43 ]
noku
常連さん
会議室デビュー日: 2005/07/21
投稿数: 20
投稿日時: 2005-08-15 16:48
./つけたら動きました。
.profileも元に戻してもシェルを新たに動かしても問題なかったので
ファイルが見えて無かっただけですね。
ファイルの中身先頭に「#!/bin/ksh」付けてあったので
冷静に考えれば、たどり着けるような問題でした。
お恥ずかしい。。。
ありがとうございました。


[ メッセージ編集済み 編集者: みっち〜 編集日時 2005-08-15 16:51 ]
Mattun
ぬし
会議室デビュー日: 2004/08/10
投稿数: 1391
投稿日時: 2005-08-15 16:53
引用:

返りメッセージは「/bin/ksh: test.sh: not found」


・/bin/kshを対話的に実行していて
・"test.sh"というコマンドラインを実行して
・not foundと言われてる
んだから、.(カレントディレクトリ)にPATHが通ってないんでしょう。
test.shを相対パスまたは絶対パス入力して実行してみれば大丈夫でしょう。

引用:

.profileに:SFUbinkshを追加しましたが同じメッセージでした。


どの変数に追加したのか分からないと、何のことやら、です。
PATHに追加するなら、kshが存在しているパスを追加する必要なんてありません。
もし追加するにしても、スクリプトが置いてあるディレクトリのパスです。

ただ、カレントディレクトリに対してPATHを追加するのが適切かどうか。


って書いてる間に解決してる_| ̄|○
1

スキルアップ/キャリアアップ(JOB@IT)