一、总结变量的类型及含义?
自定义变量
1. 定义变量:变量名=变量值 变量名必须以字母或下划线开头,区分大小写 ip1=192.168.2.115
本地(自定义变量)变量 环境变量 export
2. 引用变量:$变量名 或 ${变量名}
3. 查看变量:echo $变量名 set(所有变量:包括自定义变量和环境变量)env printenv 例如env |grep back_dir2
4. 取消变量:unset 变量名
5. 作用范围:仅在当前shell中有效
环境变量 定义环境变量:
方法一 export back_dir2=/home/backup
方法二 back_dir1=/home/backup export back_dir1 将
自定义变量转换成环境变量 变量作用范围: 在当前shell和子shell有效
bash内置环境变量
shell程序在运行时,会接受一组变量来确定登录用户名、命令路径、终端类型、登录目录等等,这些变 量就是环境变量。shell内置的环境变量是所有的shell程序都可以使用的变量,环境变量会影响所有的脚 本的执行结果。
变量 | 说明 |
PATH | 命令的搜索路径,以冒号作为分隔符 |
HOME | 用户的家目录的路径,是cd命令的默认参数 |
COLUMNS | 命令行编辑模式下可使用命令的长度 |
HISTFILE | 命令历史的文件路径 |
HISTFILESIZE | 命令历史中包含的最大行数 |
HISTSIZE | history命令输出的记录数 |
LOGNAME | 当前用户的名字 |
SHELL | 当前使用的shell |
PWD | 当前的工作目录 |
位置变量
编写一个shell脚本,当命令行或者从其他shell脚本中调用它的时候,这个脚本接受若干参数。这些选项 是通过linux作为位置参数提供给shell程序的。在shell脚本中应有变量,接受实参,这类变量的名称很特 别分别为1,2,3...这类变量称为位置变量,位置参数1存放在位置变量1中,位置参数2存放在位置变量 2中,....来访问。
预定义变量
$0 脚本名 echo "显示脚本文件名" $0 || echo "显示脚本文件名" basename $0 dirname
$* 所有的参数
$@ 所有的参数
$# 参数的个数
$$ 当前进程的PID • a. su UserName • b.图形界面打开终端 • c.执行脚本(进入子shell) ./ • d.任何其他的bash实例 执行顺序(影响该shell的配置文件) ~/.bashrc-->/etc/bashrc--->/etc/profile.d/*.sh 交互式shell和非交互式shell 交互式:正常的命令行 非交互式shell:shell脚本 $! 上一个后台进程的PID
$? 上一个命令的返回值 0表示成功
只读变量
只读变量
将变量配置成为 readonly 类型,该变量不可被更改内容,也不能 unset -
定义方法:
方法一: readonly [-fap] [变量定义] -f 定义只读函数 -a 定义只读数组变量 -p 显示系统中全部的变量 列表
方法二: declare –r 变量定义
取消变量 unset 选项:
-f 取消的是函数
-v 取消的是变量
如果没有指选项,首先尝试取消变量,如果失败尝试取消函数。
二、案例计算长方形面积?(6种方式)
3.定义变量url=https://blog.csdn.net/weixin_45029822/article/details/103568815(通过多种方法实现)
1)截取网站访问的协议
2)截取网站访问账号信息