600字范文,内容丰富有趣,生活中的好帮手!
600字范文 > RHEL环境下调试Shell脚本时遇到字符串转换整数的问题

RHEL环境下调试Shell脚本时遇到字符串转换整数的问题

时间:2022-05-05 09:26:11

相关推荐

RHEL环境下调试Shell脚本时遇到字符串转换整数的问题

字符串转整型!这种需求应该在编程语言里很常见,Shell里就太麻烦了。有人问为什么要转换?我遇到的问题是参数数量$#需要进行整型运算,而$#取出来的却是字符串,以下为证:

if [ $# != 1 ] ; then

......

fi

这里只能用!=,=,==字符串的比较符,而使用-eq,-lt这些整数比较符就报错了。需要用来做运算就必需转换为整型,在网上查了半天然后问了一大圈朋友,得到的方法却是这样的

i=`expr $# + 0 `

这种方法确实有点搞笑了,但好象真的没有其它更好的办法了!

还要注意的是if条件是整数比较时必需用双方括号,例如:

i=`expr $# + 0 `

j=`expr $i + 1 `

if [[ i -lt j ]] ; then

......

fi

而字符串比较时则是使用单方括号,例如上面第一个例子。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。