Shell学习笔记 - 运算符
一、Declare命令
1. 命令格式
declare [+/-] [选项] 变量名
其中:
-: 给变量设定类型属性
+:取消变量的类型属性
2. 参数说明
-i:将变量声明为整型
-a:将变量声明为数组类型
-x:将变量声明为环境变量
-r:将变量声明为只读变量
-p:显示指定变量被声明的类型
3. 示例
1)-i示例: 声明整型变量,由于shell默认变量的类型是字符串类型,如果需要进行数值的运算,则需要将变量转化为整型
#!/bin/basha=1 b=2sum=$a+$b echo "默认字符串类型相加结果:" echo $sumdeclare -i sum=$a+$b echo "声明为整型相加结果:" echo $sum#输出结果: 默认字符串类型相加结果: 1+2 声明为整型相加结果: 3
2)-a示例:声明数组
#!/bin/bash# 声明数组 declare -a arr #可以不写,shell可以通过检测中括号识别数组 arr[0]="a" arr[1]="b" arr[2]="c"# 默认打印数组第一个元素 echo ${arr}# 打印第二个元素 echo ${arr[1]}# 打印所有的元素 echo ${arr[*]}#输出结果: a b a b c
3)-x示例:声明全局变量
-x的功能和export 变量名功能相同,export只是declare -x 变量名的快捷方式
#!/bin/bashname="test" declare -x name # 等同效果 export nameecho $name#输出结果: test
4) -r示例:声明只读变量
-r会将变量变为只读,变为只读后,将不能进行修改,删除,也不能取消只读,只能重启才能取消。
#!/bin/bashname="test" declare -r name echo $namename="abc" echo $name#输出结果: test test.sh: line 7: name: readonly variable test
5)-p示例:显示指定变量被声明的类型
#!/bin/bashdeclare -i a declare -p adeclare -a b declare -p bdeclare -x c declare -p cdeclare -r d declare -p d#输出结果: declare -i a="" declare -a b='()' declare -x c="" declare -r d=""
二、数值运算的方法
1. expr方法
示例:
#!/bin/basha=1 b=2 sum=$(expr $a + $b) # 加号两边一定要留空格,不然会当成字符串连接起来 echo $sum#输出结果: 3
2. $(()) 或 $[]方法
#!/bin/basha=1 b=2 sum=$(($a+$b)) # 加号两边加不加空格,无所谓 echo $sumresult=$[$a-$b] echo $result#运行结果: 3 -1
转载于:https://www.cnblogs.com/refine1017/p/4993262.html
Shell学习笔记 - 运算符相关推荐
- shell 学习笔记---运算符
Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...
- shell学习笔记 (2)
shell学习笔记 (2) ---china.pub.com linux shell电子书学习笔记 第2章 使用find和xargs find pathname -options [-print - ...
- 【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等
1 学习shell的目的性 写之前我们先来搞清楚为什么要学shell,学习要有目的性 shell简单.灵活.高效,特别适合处理一些系统管理方面的小问题 shell可以实现自动化管理,让系统管理员的工作 ...
- shell学习笔记 (9.1)
第9章 AWK 介 绍 ---china.pub.com linux shell电子书学习笔记 9.1 调用awk 有三种方式调用a w k,第一种是命令行方式,如: awk |-F fie ...
- shell学习笔记---工具学习
. sort工具 . uniq工具 . paste工具 . cut工具 . xargs工具 . sed工具 . awk工具 . find工具 . 模式空间选择空间 # sort工具 # sort将文件 ...
- shell学习笔记整理
Shell编程学习笔记 第一章基础知识 1.脚本格式: 1.1"#!" 这个符号的名称,叫做"Shebang"或者"Sha-bang" &q ...
- linux shell 学习笔记
shell中定义变量形式: yourname='tengxi' 注意等号两边不能有空格,否则会报语法错误 使用变量 echo $yourname 或者 echo ${yourname}(推荐带花括号的 ...
- Shell 学习笔记之运算符
基本运算符 算术运算符 val = expr 2 + 2 需要注意的是 表达式和运算符之间需要有空格(比如2 + 2,不能是2+2) 两边最外面的字符是`,在esc键下面,不是引号哦 乘号* 前面必须 ...
- [Bash Shell] Shell学习笔记
1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...
- Linux shell 学习笔记(16)— shell 入门总结
1. Shell 变量 Shell 变量包括自定义变量和环境变量: 自定义变量:脚本中自己命名定义的变量,通常为局部变量,其他 Shell 程序不能访问到: 环境变量,操作系统已定义的变量,如 PAT ...
最新文章
- InnoDB存储引擎对MVCC的实现
- php框架 zend,模型部分的php设计模式[php zend框架]
- 新想法!华科、清华、康奈尔联合提出“圆形卷积”!聚合方形和圆形优势
- C语言sizeof和strlen的含义,用法和区别
- eclipse无法创建tomcat7.0的server
- Python“文件操作”Excel篇(上)
- 代理类 invoke方法没有返回值怎么办_何为动态代理?
- ubuntu服务器设置_Ubuntu服务器设置–安全最佳实践
- Linux进程管理及作业控制(转)
- android实现Materia Design风格APP(三):部分Materia Design风格的控件介绍二
- 用python画简单的猴子画法_10种可爱的小猴子简笔画合集,分分钟被萌翻,一看就会画...
- 减持奈飞增持京东健康,“贝莱德们”为何开始偏爱中国企业?
- linux下delete释放不了内存,c++delete后虚拟内存不降的原因(疑似内存泄漏)
- Brooklyn 2.1.0 (60+超炫苹果标志动画屏保)
- 骗子借新浪微博三周年活动为名诈骗
- Gym - 101606L Lizard Lounge——LIS
- axios 全攻略之 API
- edge浏览器如何把网页放到桌面_win10系统怎么把Edge浏览器放到桌面?Edge怎么创建桌面快捷方式...
- 【宋红康 MySQL数据库】【03】SQL概述_常见的数据库对象
- 23-tcp协议——TIME_WAIT状态和FIN_WAIT2状态
热门文章
- NYOJ31 5个数求最值
- 细数继承与派生(纯干货推荐)1.0
- 化学分子的溶解度预测模型(Rdkit构建)
- jsp引进的js 显示404_【梅园大讲堂微课堂】Get超级大招!上海人才引进云申报权威解读来了...
- java map存储格式_java HashMap HashSet的存储方式
- 算法:Find First and Last Position of Element in Sorted Array(在有序数组中搜索第一个和最后一个找到的数字)
- 数据集:工人与机床对日产量的影响
- 使用大量数据提高算法性能的前提条件
- 进程和线程的基本概念与区别
- MQAM(M元正交幅度调制)