当前位置: 代码迷 >> Solaris >> solaris上原liunx的脚本运行不成功
  详细解决方案

solaris上原liunx的脚本运行不成功

热度:2167   发布时间:2013-02-26 00:00:00.0
solaris下原liunx的脚本运行不成功
这是原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}'`