- PR -

シェルのsyntax errorについて

1
投稿者投稿内容
SUNNYDAY
常連さん
会議室デビュー日: 2004/07/14
投稿数: 49
投稿日時: 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





SUNNYDAY
常連さん
会議室デビュー日: 2004/07/14
投稿数: 49
投稿日時: 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
hk
会議室デビュー日: 2004/02/24
投稿数: 1
投稿日時: 2004-10-25 13:35
はじめまして。

[quote]
### シェル開始ログの出力→ファイル
outlogF [開始]引数="$*"
[/quote]

上記、outlogFの後に " がありませんがこれでしょうか?
SUNNYDAY
常連さん
会議室デビュー日: 2004/07/14
投稿数: 49
投稿日時: 2004-10-25 13:57
hkさん、はじめまして。
ご回答ありがとうございました。

### シェル開始ログの出力→ファイル
outlogF "[開始]"引数="$*"

さっそく、↑としてみましたが、
前回と同じエラーになってしまいました・・・
NeXT
大ベテラン
会議室デビュー日: 2004/04/06
投稿数: 215
お住まい・勤務地: 江戸
投稿日時: 2004-10-25 14:17
シェルスクリプトの先頭(一行目)に
#!/bin/sh
を追加してクダンのシェルスクリプトを実行してみる。

$ /bin/sh ./シェルスクリプト
として実行してみる。

を試してみては如何でしょうか。
SUNNYDAY
常連さん
会議室デビュー日: 2004/07/14
投稿数: 49
投稿日時: 2004-10-25 14:35
NeXTさん、はじめまして。
ご回答ありがとうございました。

すいません、この問題解決しました。
エディタでシェルを作成し、保存する際に、
文字コード:EUC
改行コード:LF(UNIX)
としたら、上手くいきました。

ご回答いただいた方々、ありがとうございました。
お騒がせ致しました。m(_ _)m
1

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