2

シェル スクリプトに触れることはめったにありません。別の部門でシェル スクリプトを作成しているため、作成については理解していますが、経験はありません。しかし、それらはすべて私の問題では役に立たないようです。

Cygwin を使用して、Windows ベースのマシンでいくつかの KornShell (ksh) スクリプトを実行しようとしています。これらを使用して Oracle WebLogic サーバーを起動しましたが、実行されません。以前は、これらのまったく同じスクリプトを古いマシンで問題なく実行できました。

これで、「マジック ナンバー」またはスクリプト インタープリター パスを指定するスクリプトの先頭にあるものに絞り込みました。

すなわち:

#!/bin/ksh

単純なbashとして実行するように変更すると、次のように機能します。

#!/bin/sh

cygwin 用にインストールされたパッケージを確認しました。インストールしたシェルは次のとおりです。

  • mksh MirdBSD KornShell
  • ボーンアゲインのシェルを叩く
  • zsh z シェル

cygwin/bin ディレクトリに ksh.exe があるはずですか? 私が仮定していたシステムファイル「ksh」があり、mksh.exeのような他のシェルexeの1つに何らかの形で関連付けられています

私の説明が下手かもしれないことは理解しています。しかし、そうは言っても、どんな助けも大歓迎です。

ありがとう。

4

4 に答える 4

2

MirBSD korn シェルはmksh. これを確認し、次のように入力して正しいパスを探すことができます

% which mksh
% which ksh

または、持っていない場合はwhich

% type -p mksh
% type -p ksh

または、それも失敗する場合は/etc/shells、システム上のすべての有効なシェルを一覧表示する必要があるかどうかを確認します。

% grep ksh /etc/shells

行の後にフル パスを入力する必要があります#!。おそらく になる/bin/mkshので、行は次のようになる必要があります。

#!/bin/mksh
于 2013-01-25T11:46:26.507 に答える