携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第12天,点击查看活动详情
算数运算
整数变量的运算
-
expr 数值或变量 运算符 数值
-
$((数值 运算符 数值))
-
$[数值 运算符 数值]
-
Let 变量=数值 运算符 数值
运算符
- 加法 +
- 减法 -
- 乘法 \ *
- 除法 /
- 取余 (取模)%
expr
echo $((数值 运算符 数值))
$[数值 运算符 数值]
Let 变量=数值 运算符 数值
浮点数运算
echo “数值+数值” | bc
awk ‘BEGIN {print 浮点运算表达式}’
变量
变量类型
- 全局变量:全局生效,在任何bash环境中都可以识别。
- 局部变量:生效范围为当前shell进程。对当前shell之外的其它shell进程,包括当前shell的子shell进程均无效。
特殊变量
-
环境变量(全局变量):全局生效,在任何bash环境中都可以识别。:
-
只读变量:readonly, 只可以读取不可以更改 。
-
位置变量: 通过命令行给脚本传递参数 。{10} 要加花括号。
-
预定义变量:用来保持脚本程序的执行信息。
- $0 :当前脚本名称(如果是软链接,显示当前软链接文件名)。
- $? :查看上一次命令的执行状态,返回0为正常,非0为错误。
- $* :返回所有参数,当整体返回。
- $@ :返回所有参数,当个体返回。
- $# :获取当前shell命令行中参数的总个数。
设置变量
直接赋值为局部变量,使用export可临时设置为全局变量,重启失效
read 变量名
- -p:后面跟提示信息,即在输入前打印提示信息。
环境变量
由系统提前创建,用来设置用户的工作环境
常用环境变量:
- $PATH 表示可执行文件的默认路径
- $USER 表示用户名称
- $HOME 表示用户的宿主目录
- $LANG 表示语言和字符集
- $PWD 表示当前所在工作目录
设置永久环境变量
修改/etc/profile,修改此文件会作用于所有用户
只读变量
我们在定义shell变量时,默认定义的变量是可以被修改的,但有一种变量是不能修改的,就是只读变量。只读变量只能被赋值一次。只读变量在取得初始值之后,只能进行读取操作,不能重新赋值或删除
readonly 变量
位置变量
位置变量也称为位置参数。使用$n表示,n为数字序列号,且必须为整数。
例如:$1、$2、…、$9 、${10}、${11}。
两位数需要加花括号{},不然
$10会被识别为:$1和0
预定义变量
- $0 :当前脚本名称(如果是软链接,显示当前软链接文件名)。
- $? :查看上一次命令的执行状态,返回0为正常,非0为错误。
- $* :返回所有参数,当整体返回。
- $@ :返回所有参数,当个体返回。
- $# :获取当前shell命令行中参数的总个数。