RHEL环境下调试Shell脚本时遇到字符串转换整数的问题
生活随笔
收集整理的這篇文章主要介紹了
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
而字符串比較時則是使用單方括號,例如上面第一個例子。
轉載于:https://www.cnblogs.com/zlg88/p/6670776.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的RHEL环境下调试Shell脚本时遇到字符串转换整数的问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Java设计模式GOF之6大设计原则
- 下一篇: CSS参考手册