我正在編寫一個讀取屬性文件的shell腳本&通過某些操作。Shell腳本:單獨閱讀屬性文件的第一行,形成其餘行
它是從prop文件的第一行讀取的。
現在在這個腳本中,我想添加一個開關,如果ENABLED將執行該腳本並執行常規操作。
如果DISABLED不能正常退出程序。 我想把這個swich放在同一個prop文件中。 (即現在的道具文件的第一行會被啓用或禁用)
目前我使用:
cat init_token.properties | while read line
現在這之前,我想分別讀取開關&的值,那麼如果ENABLED,while read line應該從屬性文件的第二行開始。 簡而言之,我想分割閱讀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