这是原liunx脚本
#! /usr/bin/csh
#定义文件夹路径
cfg="$HOME/home/cfg"
db="$HOME/home/db"
echo "installing..."
#判断config.properties文件中的KEY值是否唯一
keyvaluelist=`cat $HOME/home/config.properties | grep "="`
echo "$keyvaluelist" > keyvalue.out
keylist=`cat keyvalue.out | awk -F "=" '{print $1}'`
for singlekey in $keylist
do
num=`grep -c "$singlekey" config.properties`
if [ ! $num = 1 ] ; then
echo "The key : $singlekey is not Unique in config.properties"
exit 0;
fi
done
# 根据传入的key在资源文件中取得对应的value值
# $1: 传入的key
# return: key所对应的value值
getValue()
{
key=`cat $HOME/home/config.properties | grep "$1"`
# 以"="做为分割符,切割当前行
valueTemp=`echo $key | awk -F "=" '{print $2}'`
# 保证当前行后带有注释时能取得正确的返回值
value=`echo $valueTemp | awk -F "#" '{print $1}'`
value=`echo ${value//\//\\\/}`
echo $value
}
# 从模板文件所在的目录获取模板文件名集合
files=`ls $HOME/home/template`
for file in $files
do
# 临时模板文件
tempFile="$HOME/home/template/temp.btpl"
# 从前模板文件中获取被替换项的集合
keys=`cat $HOME/home/template/$file | awk -F "[{-}]" '{print $2}'`
for key in $keys
do
value=`getValue "$key"`
if [ $value ] ; then
# 如果临时模板文件不存在则生成临时模板文件
# 如果存在则完成剩下的被替换项的替换
if [ -e $tempFile ]
then
temp=`cat $tempFile | sed -e "s/{$key}/$value/g"`
echo "$temp" > $tempFile
else
temp=`cat $HOME/home/template/$file | sed -e "s/{$key}/$value/g"`
echo "$temp" > $tempFile
fi
fi
done
var=`echo "$file" | awk -F '-' '{print $1}'`
body=`echo "$file" | awk -F '-' '{print $2}'`