# some other configuration settings
.....
wrapper.java.classpath.1=/opt/project/services/wrapper.jar
wrapper.java.classpath.2=/opt/project/RealTimeServer/RTEServer.jar
wrapper.java.classpath.3=/opt/project/mysql-connector-java-5.1.39-bin.jar
.....
# some other configuration settings
を持って、この設定ファイルを持っていると私はそれがこの
# some other configuration settings
.....
wrapper.java.classpath.1=/opt/project/services/wrapper.jar
wrapper.java.classpath.2=/opt/project/RealTimeServer/RTEServer.jar
wrapper.java.classpath.3=/opt/project/mysql-connector-java-5.1.39-bin.jar
wrapper.java.classpath.4=/opt/project/RealTimeServer/some_other.jar
.....
# some other configuration settings
に見えるようにしたいだから、私はこの方法
それを呼び出す#!/bin/bash
CONF_FILE=$1
JAR_FILE=$2
DIR=$3
# Get the last wrapper.java.classpath.N=/some_path line
CLASSPATH=`awk '/classpath/ {aline=$0} END{print aline}' $CONF_FILE`
echo $CLASSPATH
# Get the left side of the equation
IFS='=' read -ra LS <<< "$CLASSPATH"
# Get the value of N
NUM=${LS##*\.}
# Increment by 1
NUM=$((NUM+1))
echo $NUM
NEW_LINE="wrapper.java.classpath.$NUM=$DIR/$JAR_FILE"
echo $NEW_LINE
# Append classpath line to conf file
sed "/$CLASSPATH/a \\${NEW_LINE}" $CONF_FILE
このbashシェルを書きました
./append_classpath.sh some_file.conf some_other.jar /opt/project/RealTimeServer
しかし、私はちょうどあなたのシェルスクリプトを見
sed: -e expression #1, char 28: unknown command: `o'
巨大でない場合、それは何を問題ないはずですあなたの変数はここにありますか? – heemayl
私達にすべての情報を与えてください。テストファイル、変数、使用しているOSとシェル。 –
暗闇の中でちょうど一発: '$ {some_string}'を試してみてください。 $は変数名の最初の文字しか表示していないようです。 $ {some_line}と同じです。 – steffen