- - PR -
シェルのsyntax errorについて
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2004-10-25 12:46
こんにちわ。
今シェルを作成しているのですが、 syntax error near unexpected token `in というエラーが出てしまい、上手く動作しません。 これは、case文のところで出ているので、 構文がおかしいのかな、とも思いましたが、 見直してみたところ、構文間違えはないように思うのですが・・・。 すいません、色々試してみましたが、 どうもエラーが消えてくれません。 シェルの知識不足のため、何かを見落としていると思うのですが・・・。 どなたか、不良点がわかるかたいらっしゃいましたら、 ご教授ください。 よろしくお願い致します。 以下、作成中のシェルです。 ### 環境変数(固定)の設定 export CLASSPATH=/home/java/SeiAppl/Common/lib/xerces.jar:$CLASSPATH export CLASSPATH=/home/java/SeiAppl/Common/lib/j2ee.jar:$CLASSPATH export CLASSPATH=/home/java/SeiAppl/Common/lib/classes12.zip:$CLASSPATH ### リターンコード RTN_NORMAL=0 # 正常終了 RTN_WARNING=10 # 警告終了 RTN_ERROR=20 # 異常終了 ### 引数の設定 KJKBN=$1 echo " ---RTN-CD:["$1"]" PTNO=$2 echo " ---RTN-CD:["$1"]" # 引数のチェック if [ $# -lt 2 ]; then # 引数が2個未満の場合 outlogF "[引数不足 "`expr 2 - $#`"個]"引数="$*" exit 20 # 異常終了 fi ### シェル開始ログの出力→ファイル outlogF [開始]引数="$*" ### 区分からクラスパスを導出 case $KJKBN in 4) PRJ=tops;; 3) PRJ=tops2;; 5) PRJ=tops3;; esac # クラスパスのチェック if [ -z $PRJ ]; then # クラスパスが未設定の場合 outlogF "[区分不正]" exit 20 # 異常終了 fi ### 環境変数(変動)の設定 export CLASSPATH=/home/java/SeiAppl/${PRJ}/www/WEB-INF/classes:$CLASSPATH # ★デバッグログ outlogF →クラスパス=$PRJ ### 起動時刻の取得 BGNTIME=`date '+%Y%m%d%H%M%S'`.000 ### シェル変数の設定 # Javaパス JAVAPATH=/opt/WebSphere/AppServer/java/bin/java ・ ・ ・ ・ ・ |
|
投稿日時: 2004-10-25 13:17
すいません、ちなみにエラーですが、
以下のようになります。 [oracle@zone7 bat]$ sh Sample.sh 4 1111 : command not founde 25: : command not founde 27: : command not founde 29: : command not founde 35: : command not founde 39: : command not founde 44: ---KJKBN:[4] ---PTNO:[1111] : command not founde 50: 'aenoSample.sh: line 63: syntax error near unexpected token `in 'aenoSample.sh: line 63: `case $KJKBN in |
|
投稿日時: 2004-10-25 13:35
はじめまして。
[quote] ### シェル開始ログの出力→ファイル outlogF [開始]引数="$*" [/quote] 上記、outlogFの後に " がありませんがこれでしょうか? |
|
投稿日時: 2004-10-25 13:57
hkさん、はじめまして。
ご回答ありがとうございました。 ### シェル開始ログの出力→ファイル outlogF "[開始]"引数="$*" さっそく、↑としてみましたが、 前回と同じエラーになってしまいました・・・ |
|
投稿日時: 2004-10-25 14:17
シェルスクリプトの先頭(一行目)に
#!/bin/sh を追加してクダンのシェルスクリプトを実行してみる。 か $ /bin/sh ./シェルスクリプト として実行してみる。 を試してみては如何でしょうか。 |
|
投稿日時: 2004-10-25 14:35
NeXTさん、はじめまして。
ご回答ありがとうございました。 すいません、この問題解決しました。 エディタでシェルを作成し、保存する際に、 文字コード:EUC 改行コード:LF(UNIX) としたら、上手くいきました。 ご回答いただいた方々、ありがとうございました。 お騒がせ致しました。m(_ _)m |
1