当前位置:   article > 正文

Linux变量分类(全)_linux 变量分类

linux 变量分类

局部变量:当前代码段内生效

案例演示:函数内,用local修饰的变量就是局部变量。

function func(){
	 local a=99
 }
  • 1
  • 2
  • 3

本地变量:当前bash进程中有效

案例演示:

[root@docker01 ~]# A=111
[root@docker01 ~]# echo $A
111
  • 1
  • 2
  • 3

环境变量:当前用户的bash进程及其子进程中生效,切换用户后失效。

1、临时环境变量。

相关语法:

查看:
env     查看当前用户的环境变量
set     查询当前用户的所有变量(临时变量与环境变量)
创建:
export `变量名=变量值` 或者 `变量名=变量值;export 变量名`
  • 1
  • 2
  • 3
  • 4
  • 5

案例演示:

[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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

2、永久环境变量。

在环境变量脚本文件中配置,该用户每次登录时会自动执行这些脚本,相当于永久生效。
相关语法:

$HOME/.bashrc	当前用户的bash信息,用户登录时读取		定义别名、umask、函数等
$HOME/.bash_profile	当前用户的环境变量,用户登录时读取
$HOME/.bash_logout	当前用户退出当前shell时最后读取		定义用户退出时执行的程序等
  • 1
  • 2
  • 3

全局变量:所有的用户和程序都能调用

相关语法:

/etc/bashrc		全局的bash信息,所有用户都生效
/etc/profile		全局环境变量信息			系统和所有用户都生效
  • 1
  • 2

系统变量:系统定义好的一些变量

例如:

内置变量含义
$?上一条命令执行后返回的状态;状态值为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

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号