十万火急,求救一个shell script问题
下面有一个shell   脚本中的一个函数,是把字符串第一位的“#”拿掉,并且字符串等于“0000”或“FFFF”就把字符串变成“----”     
 #!/usr/bin/ksh 
 ...... 
 extractHash() 
 { 
       var=$input   
       temp=`echo   $var   |cut   -c1-1` 
       if   [[    "$temp "   -eq    "# "   ]]   ;   then 
             if   [    "$var "   =    "#0000 "   ]   ||   [    "$var "   =    "#FFFF "   ];   then 
                   input= "---- " 
             else 
                         temp2=`echo   $var   |cut   -c2-` 
                         input=$temp2 
             fi 
       else 
             if   [    "$var "   =    "0000 "   ]||[    "$var "   =    "FFFF "   ]   ;   then 
                   input= "---- " 
             else 
                   input=$var 
             fi          
       fi 
 } 
 ......     
 如果输入的字符串是   带“#”的就没有问题 
 比如:    "#1234 "   处理结果是   1234         (ok) 
                       "#0000 "   处理结果是   ----         (ok) 
                       "#FFFF "   处理结果是   ----         (ok)   
 可是如果不带“#”的字符串处理就有问题了 
 比如:    "1234 "      处理结果是   1234         (这个正确的,ok) 
                       "0000 "      处理结果是   000            (有问题,   false) 
                       "FFFF "      处理结果显示         Bad   number      (有问题,   false)        
 请高手帮我看看,为什么处理   0000   和   FFFF   时不对呢
------解决方案--------------------逻辑没问题,好像写错了,最后应该:   
   ........   
     else 
     if [  "$var " =  "0000 " ]||[  "$var " =  "FFFF " ] ; then 
       input= "---- "       
     fi      
     else 
       input=$var 
   fi 
 }
------解决方案--------------------  http://www.linuxsir.org/main/doc/abs/abs3.7cnhtm/string-manipulation.html   
 #!/bin/bash   
 var1= '#0000 ' 
 var2=${var1#\#}    #去掉 '# ' 
 echo $var2 
 var3=${var2/0000/----}  #将0000换成---- 
 echo $var3