变量的分类(临时(本地)变量、环境变量、全局变量和系统变量)

1、临时变量

当前用户自定义的变量,只在当前进程中有效。其他进程及当前进程的子进程无效。

(1)定义方式

  • 基本方式:变量名=变量值
[root@server1 shells]# a=4
[root@server1 shells]# echo $a
4
  • 命令执行结果输入给变量:变量名=`执行的命令``
[root@server1 shells]# name=`hostname`
[root@server1 shells]# echo $name
server1
[root@server1 shells]# name=$(hostname)
[root@server1 shells]# echo $name
server1
[root@server1 shells]# name="$(hostname)"
[root@server1 shells]# echo $name
server1
[root@server1 shells]# a=`uname -r`
[root@server1 shells]# echo $a
3.10.0-862.el7.x86_64
  • 交互式定义变量read
    通过文本输入
[root@server1 shells]# vim ip.txt
[root@server1 shells]# read -p "input ip:" IP < ip.txt 
[root@server1 shells]# echo $IP
192.168.13.125

通过用户自定义

[root@server1 shells]# read -s -p "passwd:" mima
passwd:
[root@server1 shells]# echo $mima
westos

(2)证实

在这里插入图片描述
因为两个终端分别分配了不同的PID,也就是不同的进程:
在这里插入图片描述
两个不同的用户呢?
在这里插入图片描述

2、环境变量(针对当前用户所有的子进程生效)~/bash.rc

在这里插入图片描述

(1)如何定义一个环境变量

  • 如果这个变量是一个已经被定义好的临时变量,利用export 变量名,就可以将该变量改为环境变量。

  • 或者直接export 变量名=变量值

(2)实证

[kiosk@server1 shells]$ export name=kongying
[kiosk@server1 shells]$ env |grep name
name=kongying
[kiosk@server1 shells]$ /bin/bash     //打开另一个子进程bash
[kiosk@server1 shells]$ ps  //查看进程
  PID TTY          TIME CMD
 5169 pts/0    00:00:00 bash
10541 pts/0    00:00:00 bash
10584 pts/0    00:00:00 ps
[kiosk@server1 shells]$ env |grep name
name=kongying         //也就是说,环境变量共享于同一进程与其子进程之间

如果不同用户呢?
也是不共享的,因为:
在这里插入图片描述

3、全局变量(/etc/profile)

(1)什么是全局变量?

在这里插入图片描述
(2)相关配置文件
在这里插入图片描述
/etc/bashrc:定义命令的别名、umask、函数

[kiosk@server1 shells]$ vim /etc/profile

在这里插入图片描述
(3)系统登陆读取相关文件顺序:
在这里插入图片描述

4、系统变量

在这里插入图片描述

[kiosk@server1 shells]$ ldvv
bash: ldvv: command not found...
[kiosk@server1 shells]$ echo $?
127
[kiosk@server1 shells]$vim ll
[kiosk@server1 shells]$ echo $?
0
[kiosk@server1 shells]$ echo $0
/bin/bash
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值