作者:程默

网址:http://www.cnblogs.com/chengmo/archive/2010/10/19/1855577.html

在刚开始学习inux shell脚本编程时候,对于它的 四则运算以及逻辑运算,估计很多朋友都感觉比较难以接受。特变逻辑运算符”[]”使用时候,必须保证运算符与算数 之间有空格。 四则运算也只能借助:let,expr等命令完成。 今天讲的双括号”(())”结构语句,就是对shell中算数及赋值运算的扩展。

使用方法:

语法:

((表达式1,表达式2…))

特点:

1、在双括号结构中,所有表达式可以像c语言一样,如:a++,b–等。

2、在双括号结构中,所有变量可以不加入:“$”符号前缀。

3、双括号可以进行逻辑运算,四则运算

4、双括号结构 扩展了for,while,if条件测试运算

5、支持多个表达式运算,各个表达式之间用“,”分开

使用实例:

扩展四则运算

#!/bin/sh

a=1;

b=2;

c=3;

((a=a+1));

echo $a;

a=$((a+1,b++,c++));

echo $a,$b,$c

运行结果:

sh testsh.sh

2

3,3,4

双括号结构之间支持多个表达式,然后加减乘除等c语言常用运算符都支持。如果双括号带:$,将获得表达式值,赋值给左边变量。

扩展逻辑运算

#!/bin/sh

a=1;

b="ab";

echo $((a>1?8:9));

((b!="a"))&& echo "err2";

((a<2))&& echo "ok";

运行结果:

sh testsh.sh

9

err2

ok

扩展流程控制语句(逻辑关系式)

#!/bin/sh

num=100;

total=0;

for((i=0;i<=num;i++));

do

((total+=i));

done

echo $total;

total=0;

i=0;

while((i<=num));

do

((total+=i,i++));

done

echo $total;

if((total>=5050));then

echo "ok";

fi

运算结果:

sh testsh.sh

5050

5050

ok

有了双括号运算符:[[]],[],test 逻辑运算,已经let,expr 都可以抛到一边了。

linux双括号文本比较,Linux Shell 双括号运算符使用相关推荐

  1. 在c语言中逗号运算符若不带括号,详解shell脚本括号区别--$()、$「 」、$「 」 、$(()) 、「 」 、「[ 」]...

    概述 很多时候我们在写shell脚本的时候总会碰到不同的括号,那么这些不同的括号有什么区别呢? $() 用于命令交换 说明:平时脚本用的``符号也是用于命令交换的哦,和$() 的操作是一样的 ${ } ...

  2. linux shell 双引号 单引号 使用推荐

    output linux shell 双引号 单引号 使用推荐 input alias使用双引号还是单引号? 鸟哥-鸟哥的Linux私房菜 基础学习篇 3ed|301 algo 引号主要用于处理空格分 ...

  3. Linux创建线程读取双口数据,linux环境下读写一次双口ram尽然要十几个毫秒。(附驱动代码)...

    linux环境下读写一次双口ram尽然要十几个毫秒.(附驱动代码) 我用的双口ram是IDT70V28,手册上说的读写时间应该是几个纳秒,我写了个linux驱动,然后做测试,发现读写一次的时间尽然是十 ...

  4. linux双系统 删一个,双系统删除linux

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 双系统删除linux系统2008-10-12 00:27方法一: 我们知道在xp里一个很好的分区工具--PQ(partition magic),但在双系统 ...

  5. linux 生成密码本,Linux下CentOS7使用OTPW实现双因子密码本登录

    otpw优点: 1.前缀密码+一次性随机码,相当于双重加密.就算随机码列表泄露,没有前缀密码也是无法登录. 2.如果一次没登录成功,会启用三重随机码. 3.用户目录下保存密码的文件可通用,适合批量部署 ...

  6. linux和windows启动,Linux和Windows双系统的启动

    问题 Linux和Windows双系统的启动 解决方案 在某些特殊情况下,服务器可能要安装双系统 一个linux系统,一个windows系统 这种情况下,安装顺序是,先装Windows系统,后装Lin ...

  7. 把双系统的linux删除,双系统删除linux

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 双系统删除linux系统2008-10-12 00:27方法一: 我们知道在xp里一个很好的分区工具--PQ(partition magic),但在双系统 ...

  8. win10 linux 修复引导菜单,win10 + Ubuntu16.04双系统修复linux grub引导丢失

    安装双系统 引导修复 1 在Ubuntu中将引导记录写入 boot 2 一波三折grub中的win10启动项又丢了 1. 安装双系统 win10 + Ubuntu16.04 双系统安装流程: 首先安装 ...

  9. 双系统在linux中修复引导文件,Linux与Windows双系统引导修复

    一台电脑装有XP和Linux双系统,因为重装XP,导致再无法进入Linux. 原因很简单,因为重装XP,XP会把自己的引导文件写入MBR(硬盘主引导记录),这样就把原先带有Linux引导的记录摸掉了, ...

最新文章

  1. java持续集成soapui_集成testNG到JavaAPI测试-执行多条用例
  2. 基于 WebRTC 实现自定义编码分辨率发送
  3. jdbc mysql数据类型对比 (版本: 5.1)
  4. python画一个祝福别人生日快乐_生日贺卡祝福语(精选50条)
  5. rip协议的V1和V2的更新机制
  6. 网站服务器睡眠后还能访问吗,远程服务器可以睡眠吗
  7. django-模板的功能与配置
  8. 编译android 7.1 jdk版本,ubuntu14.04 安装 open-jdk-1.8,下载编译 android nougat 7.1.1
  9. Python4班平均成绩统计_回首过去,展望未来 | 欢迎大家来到E班第一次主题班会!...
  10. 新兴的人工智能服务器,5个新兴人工智能物联网应用
  11. Java011-多线程
  12. mysql 总分区表限制_MySQL分区表的局限和限制详解
  13. 迅捷音频转换器怎么使用?
  14. python barplot宽度,如何在seaborn barplot上设置宽度
  15. Git Conventional Commits (Git代码提交说明规范)
  16. 项目经历怎么写_简历里的项目经历怎么写才能打动招生官和面试官?
  17. 如何高效地做设计评审
  18. 合伙开公司要如何规避风险
  19. uniapp开发app真机调试连接电脑服务器请求失败解决方法
  20. 无线电能传输LCL-S拓扑/WPT MATLAB/simulink仿真模型 (模型左边为两电平H桥逆变器,LCL-S串联谐振,右边不可控整流结构)

热门文章

  1. OpenCV-寻找轮廓cv::findContours绘制轮廓cv::drawContours
  2. pm2.5测试软件,测pm2.5的软件准吗
  3. 想成为测试工程师,这7件事你必须先知道
  4. linux 版本号 加号,Linux kernel编译生成的版本多一个加号“+”
  5. python颜色表_Python:数据可视化,必须注意的30个小技巧
  6. 合肥一六八2021高考成绩查询,合肥高考成绩查询入口
  7. pycharm出现KeyError:“Couldn't find filed google.ptotobuf.FileOption.javanano_use_deprecated_package”
  8. linux配置sonarqube遇到的坑
  9. 面试必问的 Linux 命令帮你整理好啦 (下)
  10. 分享前几年的外包经历,给正在犹豫要不要去外包的学弟学妹做参考.