赞
踩
案例演示:函数内,用local修饰的变量就是局部变量。
function func(){
local a=99
}
案例演示:
[root@docker01 ~]# A=111
[root@docker01 ~]# echo $A
111
相关语法:
查看:
env 查看当前用户的环境变量
set 查询当前用户的所有变量(临时变量与环境变量)
创建:
export `变量名=变量值` 或者 `变量名=变量值;export 变量名`
案例演示:
[root@docker01 ~]# export B=BBB [root@docker01 ~]# echo $B BBB [root@docker01 ~]# ps PID TTY TIME CMD 2334 pts/0 00:00:00 bash 7666 pts/0 00:00:00 ps [root@docker01 ~]# /bin/bash [root@docker01 ~]# ps PID TTY TIME CMD 2334 pts/0 00:00:00 bash 7667 pts/0 00:00:00 bash 7699 pts/0 00:00:00 ps [root@docker01 ~]# ps auxf|grep bash root 2334 0.0 0.1 116336 3004 pts/0 Ss Jan18 0:00 | \_ -bash root 7667 0.1 0.1 116324 2780 pts/0 S 05:29 0:00 | \_ /bin/bash root 7714 0.0 0.0 112812 976 pts/0 S+ 05:29 0:00 | \_ grep --color=auto bash [root@docker01 ~]# echo $B BBB
在环境变量脚本文件中配置,该用户每次登录时会自动执行这些脚本,相当于永久生效。
相关语法:
$HOME/.bashrc 当前用户的bash信息,用户登录时读取 定义别名、umask、函数等
$HOME/.bash_profile 当前用户的环境变量,用户登录时读取
$HOME/.bash_logout 当前用户退出当前shell时最后读取 定义用户退出时执行的程序等
相关语法:
/etc/bashrc 全局的bash信息,所有用户都生效
/etc/profile 全局环境变量信息 系统和所有用户都生效
例如:
内置变量 | 含义 |
---|---|
$? | 上一条命令执行后返回的状态;状态值为0表示执行正常,非0表示执行异常或错误 |
$0 | 当前执行的程序或脚本名 (./02.sh) |
$# | 脚本后面接的参数的个数 3个 |
$* | 脚本后面所有参数,参数当成一个整体输出,每一个变量参数之间以空格隔开 (参数数组a b c) |
$@ | 脚本后面所有参数,参数是独立的,也是全部输出 (参数数组a b c) |
$1~$9 | 脚本后面的位置参数,$1表示第1个位置参数,依次类推 |
${10}~${n} | 扩展位置参数,第10个位置变量必须用{}大括号括起来(2位数字以上扩起来) |
$$ | 当前所在进程的进程号,如echo $$ |
$! | 后台运行的最后一个进程号 测试: sleep 400 &(后台运行)/sleep 400(ctrl+z 暂停运行), 再运行jobs, 查看当前进程的后台子进程. |
!$ | 调用最后一条命令历史中的参数 |
对于全局变量和永久环境变量,用户登录系统后, 相关文件的加载顺序:
1、/etc/profile
2、$HOME/.bash_profile
3、$HOME/.bashrc
4、/etc/bashrc
5、$HOME/.bash_logout
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。