第一次接触到shell,在用到正则表达式验证这里卡住了... 请大家帮忙看看. 用的是C shell set VAR=1 if ( $VAR =~ [0-9] ) then echo "test" endif 这个用来验证匹配的正则表达式,实在搞不定了,请指导下应该怎么写,不胜感激. [0-9]这个肯定是不对的...如果VAR给赋个两位的,肯定就判断不出来了.
表达式: if [ $a -gt 100000 ];then ... ... .... fi 其中$a是前面运算得出的結果,系統自動变成 “4.74834e+09 ”这种格式了, 导致“if [ $a -gt 100000 ]”运算报 “4.74834e+09: integer expression expected” 错误!
num=`$((9230000000000000000-1))` echo ${num} 结果:-9216744073709551617 9230000000000000000中第二位变成2就能正常运算, 这个值最大是多少啊,是2的几次方吗
shell或AWK编程时,经常用到整数变量, C语言中的变量都是有类型而且有明确大小范围的, 比如32位机的int 是4字节的,范围是 -2^31 ~ 2^31 shell或AWK中的整数有范围限制吗? 脚本中是如何存储变量的呢,动态增长内存?
我想判断一个浮点数是否大于小于零 应该怎么写? $a=0.39 if [ $a -gt 0 ] 这样写不行 这让我想到shell中怎么转变数值类型? 必须要用printf吗?先printf再比较觉得比较麻烦。 很基础的问题,请赐教!
在比较操作上,整数变量和字符串变量各不相同,详见下表: 对应的操作 整数操作 字符串操作 相同 -eq = 不同 -ne != 大于 -gt > 小于 -lt 大于或等于 -ge 小于或等于 -le 为空 -z 不为空 -n 比如: 比较字符串 a 和 b 是否相等就写作:if [ $a = $b ] 判断字符串 a 是否为空就写作: if [ -z $a ] 判断整数变量 a 是否大于 b 就写作:if [ $a -gt $b ] 更细致的文档推荐在字符串比较时尽量不要使用 -n ,而用 ! -z 来代替...