プロパティファイルを読み取り、いくつかの操作を実行するシェルスクリプトを書いています。
つまり、propファイルの最初の行から読み取ります。
このスクリプトに、ENABLEDがスクリプトを実行し、通常の操作を実行するスイッチを追加します。
DISABLEDの場合、プログラムは正常に終了します。このスイッチを同じプロップファイルに入れたいです。(つまり、propファイルの最初の行がENABLEDまたはDISABLEDになります)
現在使用しているもの:
cat init_token.properties | while read line
この前に、スイッチの値を個別に読み取りたいと思います。ENABLEDの場合、while読み取り行はプロパティファイルの2行目から開始する必要があります。一言で言えば、私はIst行の読み取りを分離し、次に残りを分離したいと思います。
init_token.propertiesの形式:
ENABLED
abc.dat IP 120.210.60.1
xyz.dat PORT 8200
pqr.dat IP 420.24012.4
脚本:
#!/bin/ksh
dos2unix init_token.properties &
# PATH for DAT files
DAT_FILE_PATH='.'
cat init_token.properties | while read line
do
# PARAMETER EXAMPLE - <FILENAME> <ATTRIBUTE> <VALUE>
# read FILENAME
FILENAME=`echo "$line" | awk -F " " '{print $1}'`
# read ATTRIBUTE
ATTRIBUTE=`echo "$line" | awk -F " " '{print $2}'`
# read VALUE
VALUE=`echo "$line" | awk -F " " '{print $3}'`
# setting fully qualified filepath name & temporary file
FULLPATH=$DAT_FILE_PATH"/"$FILENAME
TEMP_FILE=tempfile
old='$('$FILENAME'_'$ATTRIBUTE')'
# replace $(<FILEANME>_<ATTRIBUTE>) with VALUE if file exists
if [ -e $FULLPATH ]
then
sed 's/'$old'/'$VALUE'/g' $FULLPATH > $TEMP_FILE && mv $TEMP_FILE $FULLPATH
else
echo 'File '$FULLPATH' does not exists while replacing token '$old
fi
done
exit