LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 783|回复: 5

shell环境如何使用表达式!

[复制链接]
发表于 2003-6-16 15:25:46 | 显示全部楼层 |阅读模式
我在REDHAT 8.0 shell下做如下工作:
    vi totest.sh
   
    i=0
    while test $i -1t 10
    do
    echo $i
    i++
    done
   
     sh totest.sh
     告诉第4行出错:“i++"
     帮忙解决!谢!:mad:
发表于 2003-6-16 19:12:45 | 显示全部楼层
#!/bin/sh
i=0
while ((i <= 10))
do
echo $i
((i+=1))
done
1,对数字进行比较,可以用<,>,=,>=,<=,!=等运算符
2,i++常用于for结构,这里是不能这样用的!
发表于 2003-7-7 23:32:15 | 显示全部楼层
为什么要两个((i+=1))

((   ))
发表于 2003-7-7 23:46:35 | 显示全部楼层
(...)和(( ... ))实际上是对数字表达式进行检测!((...))是(...)的改进!
发表于 2003-7-7 23:51:55 | 显示全部楼层
请问做得是何种检测
发表于 2003-7-8 00:03:16 | 显示全部楼层
一般来说,
圆括号对数字型变量进行检测
方括号对字符型变量进行检测
如:
(($# !=2))       //如果位置参数的个数不等于2,那么....
[[ $1 != 2 ]]    //如果第一个位置参数不是2(注意空格),那么....
注:建议使用双的[[]]和(()),因为他们的要比单的[]()更好的支持通配符!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表