? ? ? ? shell与其他编程语言一样,可以用变量来存放数据,以备随后使用或修改。shell定义了一些变量,用于保存用到的配置信息,比如可用的打印机、搜索路径等。这些变量叫作环境变量。?
1.?查看环境变量
# env
1.1?查看具体进程的环境变量
cat /proc/$PID/environ
? ? ? ??其中, PID 是相关进程的进程ID( PID 是一个整数)。
1.2 获取 pid
? ? ? ? 可以用pgrep或pidof,比如,查看freeswitch的PID:
pgrep freeswitch
pidof freeswitch
?
?1.3?众所周知的环境变量
PATH、HOME 、 PWD 、 USER 、 UID 、 SHELL 等。
2.?export
? ? ? ??环境变量是从父进程中继承而来的变量。export 命令声明了将由子进程所继承的一个或多个变量。这些变量被导出后,当前shell脚本所执行的任何应用程序都会获得这个变量。shell创建并用到了很多标准环境变量,我们也可以导出自己的环境变量。?比如
PATH="$PATH:/home/user/bin"?
export PATH?
3.? 常用操作
3.1?获取字符串的长度?
length=${#var}
3.2?识别当前所使用的shell
echo $SHELL
或者:
echo $0?
3.3??检查是否为超级用户?
? ? ? ? 环境变量 UID 中保存的是用户ID。它可以用于检查当前脚本是以root用户还是以普通用户的 身份运行的。例如:? ?
If [ $UID -ne 0 ]; then?
? echo Non root user. Please run as root.?
else?
? echo Root user?
fi?
注意:[]实际上是命令,必须与其它字符串用空格分隔。也可以用test命令
If test $UID -ne 0:1 ?
? then?
? ? echo Non root user. Please run as root.?
? else ? ? echo Root user?
fi?
3.4?修改Bash的提示字符串
? ? ? ? 当我们打开终端或是运行shell时,会看到类似于 user@hostname:/home/$ 的提示字符串。 不同的GNU/Linux发布版中的提示字符串及颜色各不相同。我们可以利用 PS1 环境变量来定义主 提示字符串。默认的提示字符串是在文件~/.bashrc中的某一行设置的。
? ? ? ?注:以利用类似于 \e[1;31 的特定转义序列来设置彩色的提示字符串。?还有一些特殊的字符可以扩展成系统参数。例如: \u 可以扩展为用户名, \h 可以扩展为主机名,而 \w 可以扩展为当前工作目录。?
?
|