您的位置:首页 > 运维架构 > Shell

Shell编程时出现"[: =: unary operator expected"解决

2013-02-01 15:23 791 查看

环境

RedHat Linux 9 + VWWare 8.0 + SSH 3.2.9

 

问题

Shell编程时出现如下错误:[: =: unary operator expected

 

解决

 

#出现错误代码:
#第六行出现代码
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"


 

参考资料

 

http://www.mossfly.com/unary-operator-expected-linux.html

 

http://blog.csdn.net/goodlixueyong/article/details/6564591

 




 

@Wentasy 博文仅供参考,欢迎大家来访。如有错误之处,希望批评指正。原创博文如需转载请注明出处,谢谢 :) [CSDN博客]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell编程 unary
相关文章推荐