频道栏目
首页 > 程序开发 > 综合编程 > 其他综合 > 正文
Shell编程时出现"[: =: unary operator expected"解决
2013-02-02 09:49:43           
收藏   我要投稿
环境

RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9

 

 

 

问题

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"  

  

#解决后代码:  

#在出错的地方增加了一对方括号  

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"  

 

#出现错误代码:

#第六行出现代码

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"

 

#解决后代码:

#在出错的地方增加了一对方括号

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"

 

 

点击复制链接 与好友分享!回本站首页
相关TAG标签 时出
上一篇:虚拟三维及游戏引擎制作软件
下一篇:OpenStack的G版Keystone对象模型
相关文章
图文推荐
文章
推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站