Shell编程问题[: =: unary operator expected"


Shell编程问题[: =: unary operator expected"的解决
 
环境
RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9
   www.2cto.com  
问题
Shell编程时出现如下错误:[: =: unary operator expected
 
解决
 
[plain] 
#出现错误代码:  
#第六行出现代码  
values=(39 5 36 12 9 3 2 30 4 18 22 1 28 25)  
    numvalues=${#values[@]}  
    for (( i=0; i < numvalues; i++ )); do  
        lowest=$i  
        for (( j=i+1; j < numvalues; j++ )); do  
            if [ ${values[j]} -le ${values[$lowest]} ]; then  
                lowest=$j  
            fi  
        done  
          [i]}  
        values[i]=${values[lowest]}  
        values[lowest]=$temp  
    done  
    for (( i=0; i < numvalues; i++ )); do  
        echo -ne "${values[$i]}\t"  
    done  
echo -e "\n\n-------end---------\n"  
  
#解决后代码:    www.2cto.com  
#在出错的地方增加了一对方括号  
values=(39 5 36 12 9 3 2 30 4 18 22 1 28 25)  
    numvalues=${#values[@]}  
    for (( i=0; i < numvalues; i++ )); do  
        lowest=$i  
        for (( j=i+1; j < numvalues; j++ )); do  
            if [[ ${values[j]} -le ${values[$lowest]} ]];  
         then  
                lowest=$j  
            fi  
        done  
        #[i]}  
        values[i]=${values[lowest]}  
        values[lowest]=$temp  
    done  
    for (( i=0; i < numvalues; i++ )); do  
        echo -ne "${values[$i]}\t"  
    done  
echo -e "\n\n-------end---------\n"  
 

相关内容

    暂无相关文章