一.bash的变量类型(00:57:00)
1.本地变量:该变量是进程的变量,一旦bash的进程消失了,这个变量就不存在了。
- 在命令行直接输入# bash,就可以打开shell的子shell
- 应用变量%{varname},花括号可以省略
- 单引号是强引用,不作变量替换;双引号是弱引用,会做变量替换。
- 本地变量:set varname=value(作用域整个bash进程,set可以省略)
局部变量:local varname=value(作用域是当前代码段)
2.环境变量(作用域是当前shell进程及子进程)(01:06:00)
- 定义环境变量的方式:
export varname=value
或者varname=value export varname
- 重新打开一个终端的话,就是重新打开了一个shell,所以其他shell通过export的环境变量就不会在新的终端中出现。
- 要想去掉之前export的值,重新打开一个终端即可
3.特殊变量
如$? :表示上一个命令的执行状态返回值
- 程序的执行,可能有两类返回值
程序的执行结果
程序的状态返回码(0-255) 0:正确执行,1-255:错误执行,其中1,2,127系统预留
#echo $? (查看状态返回码)
4.撤销变量(所有类型变量)
#unset varname
5.查看当前shell所有变量
#set
6.查看当前shell的环境变量(三种方式)
#printenv
#env
#export
7.shell的变量都是字符串,不能够进行运算。
8.给变量增加字符串,中间用冒号:隔开
PATH=$PATH:/usr/local/...
9.写脚本
#nano first.sh
- 在脚本的第一行要写shebang(魔数):
#!/bin/bash
10.一个没有执行权限的bash文件,可以直接使用bash解释器来执行
11.执行一个bash脚本,
chmod +x ***.sh
./**.sh