尚硅谷linux教程16-shell变量
shell变量
1)Linux Shell 中的变量分为,系统变量和用户自定义变量。
2)系统变量:$HOME、$PWD、$SHELL、$USER 等等比如: echo $HOME 等等..
1)定义变量:变量=值
2)撤销变量:unset 变量
- 声明静态变量:readonly 变量,注意:不能 unset
• 快速入门
案例 1:定义变量 A
案例 2:撤销变量 A
案例3 : 声明一个静态变量,但是不能unset
注意:等号前面后面不能加空格,要不会报错
案例4 : 将变量提升至全局变量
使用系统变量
直接输入set可以查看所有的系统变量
vim显示行数:esc进入命令行模式,然后输入set nu即可。
shell变量规则
-
变量名称可以由字母、数字和下划线组成,但是不能以数字开头。
-
等号两侧不能有空格
-
变量名称一般习惯为大写
如何将命令的结果返回给变量(重点)
1) A=ls -la
反引号,运行里面的命令,并把结果返回给变量 A
2) A=$(ls -la) 等价于反引号
设置环境变量
- export 变量名=变量值 将shell变量输出为环境变量
- source 配置文件 让修改后的配置信息生效
- ech $变量名 查询环境变量的值
快速入门
-
在/etc/profile 文件中定义 TOMCAT_HOME 环境变量
-
查看环境变量 TOMCAT_HOME 的值
在另一个shell程序汇总使用TOMCAT_HOME变量
位置参数变量
介绍
执行脚本的时候有的时候需要将外部的参数带到脚本里面去,比如./myshell.sh 100 500 ,可以在程序中获取100 500参数。
基本语法
$n n为数字,$0代表命令本身,$1-$9代表第一个到第九个参数 十以上的参数使用 ${10}
$* 命令行中的所有参数 将所有的参数看成一个整体
$@ 这个变量也代表命令行中的所有参数不过$@把每个参数区别对待
$# 代表命令行中的所有参数的个数
应用实例
编写一个shell脚本,positionPara.sh 从脚本中获取命令行的参数信息