一、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学习笔记 - 运算符相关推荐

  1. shell 学习笔记---运算符

    Shell 和其他编程语言一样,支持多种运算符,包括: 算数运算符 关系运算符 布尔运算符 字符串运算符 文件测试运算符 原生bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 ...

  2. shell学习笔记 (2)

    shell学习笔记 (2) ---china.pub.com  linux shell电子书学习笔记 第2章 使用find和xargs find pathname -options [-print - ...

  3. 【转】shell学习笔记(一)——学习目的性、特殊字符、运算符等

    1 学习shell的目的性 写之前我们先来搞清楚为什么要学shell,学习要有目的性 shell简单.灵活.高效,特别适合处理一些系统管理方面的小问题 shell可以实现自动化管理,让系统管理员的工作 ...

  4. shell学习笔记 (9.1)

    第9章 AWK   介 绍 ---china.pub.com  linux shell电子书学习笔记 9.1   调用awk 有三种方式调用a w k,第一种是命令行方式,如: awk |-F fie ...

  5. shell学习笔记---工具学习

    . sort工具 . uniq工具 . paste工具 . cut工具 . xargs工具 . sed工具 . awk工具 . find工具 . 模式空间选择空间 # sort工具 # sort将文件 ...

  6. shell学习笔记整理

    Shell编程学习笔记 第一章基础知识 1.脚本格式: 1.1"#!" 这个符号的名称,叫做"Shebang"或者"Sha-bang" &q ...

  7. linux shell 学习笔记

    shell中定义变量形式: yourname='tengxi' 注意等号两边不能有空格,否则会报语法错误 使用变量 echo $yourname 或者 echo ${yourname}(推荐带花括号的 ...

  8. Shell 学习笔记之运算符

    基本运算符 算术运算符 val = expr 2 + 2 需要注意的是 表达式和运算符之间需要有空格(比如2 + 2,不能是2+2) 两边最外面的字符是`,在esc键下面,不是引号哦 乘号* 前面必须 ...

  9. [Bash Shell] Shell学习笔记

    1. Shell简介 Shell本身是一个用C语言编写的程序,它是用户使用Unix/Linux的桥梁,用户的大部分工作都是通过Shell完成的.Shell既是一种命令语言,又是一种程序设计语言.作为命 ...

  10. Linux shell 学习笔记(16)— shell 入门总结

    1. Shell 变量 Shell 变量包括自定义变量和环境变量: 自定义变量:脚本中自己命名定义的变量,通常为局部变量,其他 Shell 程序不能访问到: 环境变量,操作系统已定义的变量,如 PAT ...

最新文章

  1. InnoDB存储引擎对MVCC的实现
  2. php框架 zend,模型部分的php设计模式[php zend框架]
  3. 新想法!华科、清华、康奈尔联合提出“圆形卷积”!聚合方形和圆形优势
  4. C语言sizeof和strlen的含义,用法和区别
  5. eclipse无法创建tomcat7.0的server
  6. Python“文件操作”Excel篇(上)
  7. 代理类 invoke方法没有返回值怎么办_何为动态代理?
  8. ubuntu服务器设置_Ubuntu服务器设置–安全最佳实践
  9. Linux进程管理及作业控制(转)
  10. android实现Materia Design风格APP(三):部分Materia Design风格的控件介绍二
  11. 用python画简单的猴子画法_10种可爱的小猴子简笔画合集,分分钟被萌翻,一看就会画...
  12. 减持奈飞增持京东健康,“贝莱德们”为何开始偏爱中国企业?
  13. linux下delete释放不了内存,c++delete后虚拟内存不降的原因(疑似内存泄漏)
  14. Brooklyn 2.1.0 (60+超炫苹果标志动画屏保)
  15. 骗子借新浪微博三周年活动为名诈骗
  16. Gym - 101606L Lizard Lounge——LIS
  17. axios 全攻略之 API
  18. edge浏览器如何把网页放到桌面_win10系统怎么把Edge浏览器放到桌面?Edge怎么创建桌面快捷方式...
  19. 【宋红康 MySQL数据库】【03】SQL概述_常见的数据库对象
  20. 23-tcp协议——TIME_WAIT状态和FIN_WAIT2状态

热门文章

  1. NYOJ31 5个数求最值
  2. 细数继承与派生(纯干货推荐)1.0
  3. 化学分子的溶解度预测模型(Rdkit构建)
  4. jsp引进的js 显示404_【梅园大讲堂微课堂】Get超级大招!上海人才引进云申报权威解读来了...
  5. java map存储格式_java HashMap HashSet的存储方式
  6. 算法:Find First and Last Position of Element in Sorted Array(在有序数组中搜索第一个和最后一个找到的数字)
  7. 数据集:工人与机床对日产量的影响
  8. 使用大量数据提高算法性能的前提条件
  9. 进程和线程的基本概念与区别
  10. MQAM(M元正交幅度调制)