1.3 玩转变量和环境变量
有一些特殊的变量会被shell环境和操作系统环境用来存储一些特别的值,这类变量就被称为环境变量。
1.3.1 预备知识
- pgrep 应用名称:返回进程号
[root@shaofeng ~]# pgrep docker
792
972
- cat /proc/$PID/environ:返回该进程号相关的环境变量
[root@shaofeng ~]# cat /proc/776/environ
LANG=en_US.UTF-8PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/binNOTIFY_SOCKET=/run/systemd/notify
- tr 变量符1 变量符2:用符2替换符1,
[root@shaofeng ~]# cat /proc/776/environ | tr '\0' '\n'
LANG=en_US.UTF-8
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
NOTIFY_SOCKET=/run/systemd/notify
1.3.2 实战演练
- 设置当前连接可用的变量($ = ${})
[root@shaofeng ~]# var="value"
[root@shaofeng ~]# echo $var
value
[root@shaofeng ~]# echo ${var}
value
- export 环境变量名:该变量名可以被任何应用程序继承
1.3.3
- #:获得字符串长度
[root@shaofeng ~]# length=${#var}
[root@shaofeng ~]# echo $length
5
- echo $0:识别当前所使用的shell
➜ ~ git:(master) ✗ echo $0
-zsh
[root@shaofeng ~]# echo $0
-bash
- 检查是否为超级用户
[root@shaofeng ~]# ./IsRoot.sh
Root user
[root@shaofeng ~]# cat IsRoot.sh
#!/bin/bash
if [ $UID -ne 0 ];then
echo not root user, login please;
else
echo Root user;
fi
- 修改Bash提示字符串
[root@shaofeng ~]# cat ~/.bashrc | grep PS1
PS1="[\u@\h \W]\\$ "