我正在编写一个读取属性文件并执行某些操作的 shell 脚本。
那就是它从 prop 文件的第一行读取。
现在在这个脚本中,我想添加一个开关,如果 ENABLED 将执行脚本并执行常规操作。
如果 DISABLED 将正常退出程序。我想把这个 swich 放在同一个 prop 文件中。(即现在 prop 文件的第一行将是 ENABLED 或 DISABLED)
目前我正在使用:
cat init_token.properties | while read line
现在在此之前,我想单独读取开关的值,然后如果启用,while read 行应该从属性文件的第二行开始。简而言之,我想将 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