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]\\$ "

results matching ""

    No results matching ""