1.变量的类型及含义
变量类型: 1、自定义变量: 在当前的shell命令行界面设置的变量是局部变量 例子: num=1 name=zhangsan 2、环境变量全局变量,通过export 导出后的局部变量是全局变量 、bash的初始化文件:/etc/profile:存放一些全局变量~/.bash_profile:每个用户都可以使用该文件输入专用于自己使用的shell信息~/.bashrc:该文件包含专用于你的bash shell的bash信息/etc/bashrc:为每一个运行bash shell的用户执行此文件 、bash内置环境变量:PATH:命令的搜索路径,以冒号作为分隔符HOME:用户的家目录的路径,是cd命令的默认参数COLUMNS:命令行编辑模式下可使用命令的长度HISTFILE:命令历史的文件路径HISTFILESIZE:命令历史中包含的最大行数LOGNAME:当前用户的名字$HELL:当前使用的shellPWD:当前的工作目录 例子: export num=1 export name=zhangsan3、位置变量: 即按照传入参数的位置信息,输出 例子: cat a.sh $1 $3 $6 bash a.sh 1,2,3,4,5 4、预定义变量: 系统定义的变量,相当于内置的命令 例子: $0 # 显示当前脚本文件名 $* # 全返 $@ # 单返 $# # 返回参数的个数 $$ # 当前进程的PID $! # 上一个后台进程的 $? # 返回上一个命令的执行状态 5、只读变量将变量配置成为 readonly 类型,该变量不可被更改内容,也不能 unset - 定义方法: 一: readonly [-fap] [变量定义] -f 定义只读函数 -a 定义只读数组变量 -p 显示系统中全部的变量列表 二: declare – r 变量定义 取消变量: unset 选项: -f 取消的是函数 -v 取消的是变量、 用6种方法计算长方形面积
l=10
w=5
S=$(($l * $w))
echo "长为$l,宽为$w的长方形面积为$S"[root@localhost ~]# bash a.sh
长为10,宽为5的长方形面积为50
echo "长为 10,宽为 5的长方形面积为 $((10 * 5)) "
[root@localhost ~]# bash a.sh
长为 10,宽为 5的长方形面积为 50
echo "scale=2;10 * 5 " | bc
[root@localhost ~]# bash a.sh
50
echo "10 5" | awk '{print $i * $2}'
[root@localhost ~]# bash a.sh
50
expr 10 \* 5
[root@localhost ~]# bash a.sh
50
let S=10*5
echo "长为 10,宽为 5的长方形面积为 $S"
[root@localhost ~]# bash a.sh
长为 10,宽为 5的长方形面积为 50