知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

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

发布时间:2014-09-05 15:14:37作者:知识屋

Shell编程问题[: =: unary operator expected"的解决
 
环境
RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9
   www.zhishiwu.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.zhishiwu.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"  
 
(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜