2

ファイル処理プロジェクトに取り組んでおり、PuTTY で runProcessing.sh というシェル スクリプトを実行しようとしています。サーバーは ksh を使用します。スーパーバイザーは、スクリプトを実行するときに使用するように私に言いましたが、./ を使用するたびに、または./ runProcessing.sh <param1> <param2>./ と表示されます。justを入力すると、null ポインター例外が返されます。cannot executefile not foundrunProcessing.sh

スクリプトを実行するときに ./ が何をするかは理解していますが、./ を使用してスクリプトを実行しようとすると、なぜ機能しないのかわかりません。ヒントやアドバイスはありますか?私は Linux/UNIX の初心者です。

これが私のスクリプトです:

#!/bin/ksh
#
# Script to download processing files from the appropriate target
#
# $Id: runProcessing.sh 604 2013-01-14 21:56:35Z alex_rempel $
#

DIR=`dirname $0`
. $DIR/setEnvironment.sh
java $LDAPRUNMODE $JAVAOPT com.webproject.db.processing.FPJob  --logdir $CISLOGDIR --file [2] $* 
RET=$?

if [ $RET -gt 0 ]
then
    echo
    echo
    echo "------ runProcessing.sh Failed ------"
    echo
    echo
    exit $RET
4

2 に答える 2

1

ksh 環境で実行しているため、./ 演算子を使用する別のオプションがあります。

スクリプトを実行可能ファイルにする代わりに、次のように引数として ksh に渡すことでスクリプトを実行できます。

ksh yourScript

Unix/Linux でファイルを作成しても、実行権限が自動的に与えられるわけではありません。したがって、代わりに、次を使用してスクリプトの権限を変更できますchmod

chmod +x yourScript

その後、スクリプトを実行できるはずです。

于 2013-07-02T20:21:35.717 に答える