字符串转整型!这种需求应该在编程语言里很常见,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

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

  1. linux环境下调试嵌入式设备时出现Aborted、segmentation fault、卡死的问题以及关于指针使用的一点想法

    linux环境下调试一些嵌入式设备时出现Aborted.segmentation fault.卡死的问题,这些问题可能的原因为: 1.Aborted的问题,例如: # ./logUtils0322 [ ...

  2. linux中调试脚本,在Linux下调试 Shell 脚本

    在大多数编程语言中都有调试工具可用于调试. 调试工具可以运行需要调试的程序或脚本,使我们可以在运行时检查脚本或程序的内部执行过程. 在shell脚本中我们没有任何调试工具,只能借助命令行选项(-n,- ...

  3. linux shell rsync,linux – 如何在我的下面的shell脚本中使用rsync而不是scp来复制文件?...

    我正在使用scp并行使用GNU并行复制文件与我的下面的 shell脚本,它工作正常. 我不知道如何在下面的shell脚本中使用rsync代替scp.我试图看看rsync与传输速度方面的scp相比是否会 ...

  4. linux脚本里调执行命令,使用shell的-n/-x/-x执行选项调试Shell脚本

    我们在前面介绍的调试手段是通过修改shell脚本的源代码,从其输出相关的调试信息来定位错误的,那有没有不修改源代码来调试shell脚本的方法呢?有的,那就是使用shell的执行选项,下面将介绍一些常用 ...

  5. linux下的shell脚本

    linux下的shell脚本 一.Shell概述 二.Shell 解析器 三.Shell脚本入门 1. 脚本格式 2. 第一个Shell脚本:helloworld 3. 第二个Shell脚本:多命令处 ...

  6. liunx下编写shell脚本报错-bash: ./a.sh: /bin/bash^M: bad interpreter: No such file or directory。编辑器Notepad++

    在执行shell脚本时提示这样的错误主要是由于shell脚本文件是dos格式,即每一行结尾以\r\n来标识,而unix格式的文件行尾则以\n来标识. 可能是下载到windows下编辑或者使用连接工具x ...

  7. linux下的shell脚本,linux下的shell脚本的使用

    什么是shell? Shell是一个命令解释器,它在操作系统的最外层,负责直接与用户进行对话,把用户的输入解释给操作系统,并处理各种各样的操作系统的输出结果,输出到屏幕反馈给用户.这种对话方式可是交互 ...

  8. Linux下的shell脚本实战之用户创建

    Linux下的shell脚本实战之用户创建 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 二.脚本内容 三.运行脚本 一.脚本要求 1.该脚本提示用户创建用户名和密码 2.判断输入的用户名是 ...

  9. linux下执行shell脚本文件,Linux下使用shell脚本自动执行脚本文件

    搜索热词 以下实例本人在Centos6.5 64位操作系统中使用 一.定时复制文件 a.在/usr/local/wfjb_web_back目录下创建 tomcatBack.sh文件 #将tomcat中 ...

最新文章

  1. ImportError:cannot import name ‘display‘ File “XX“, line 5, in <module> from IPython import display
  2. iPhone How-to:如何调整UIView的Z-Order
  3. HDU 3625 Examining the Rooms【第一类斯特灵数】
  4. atitit.软件开发方法总结O6
  5. Discuz验证码识别(上线篇)-写给程序员的TensorFlow教程
  6. ngnix有版本要求吗_联想小新15 2020款值得入手吗?性能怎么样?不可不看的秘密...
  7. 如何下载 Intel Integrated Performance Primitives –intel IPP
  8. java使用zxing生成二维码
  9. 10月17日Servlet培训日记
  10. C++之try,throw,catch探究
  11. 过本命年有什么讲究吗?
  12. 头的各个部位示意图_图解圆锥破碎机润滑油路,7个主要润滑部位特点分析
  13. 如何用计算机模拟光的传播,菲涅尔计算全息干涉图的制作与模拟再现.doc
  14. 树莓派支持的最小linux,世界上最小的电脑:树莓派
  15. awesome-python(python集合框架)
  16. C语言经典题目:求阶乘n!=n*(n-1)*...*1,阶乘和s=1!+(2)!+(3)!+...+n!
  17. 测试IP和端口是否被封锁
  18. sau交流学习社区-songEagle开发系列:Vue + Vuex + Koa 中使用JWT(JSON Web Token)认证
  19. 地图省界线什么样_echarts geo 下的regions 单独修改地图省份界线样式与颜色
  20. python数据字典ppt_[关系型数据库][MySQL]用python快速导出数据字典

热门文章

  1. Oracle connet by prior 关键字的简单介绍和用法
  2. pythondocx批量提取目录及内容_一个可以选择目录生成doc目录内容的小工具(三) -python-docx...
  3. 谈谈InnoDB下的记录锁,间隙锁,next-key锁
  4. 从中心走向边缘——深度解析云原生边缘计算落地痛点
  5. 工商银行打造在线诊断平台的探索与实践
  6. 从零开始入门 K8s | 理解容器运行时接口 CRI
  7. oracle sql删除重复,【转帖】SQL Oracle删除重复记录
  8. php 阻塞消息队列,linux 消息队列阻塞
  9. Python单元测试之unittest
  10. pdo_mysql 必须 ×未安装_php pdo_mysql未安装问题解决方法_PHP教程 | 蒲公英网