变量前言
变量是任何一种编程语言必不可少的组成部分,用于存放各类数据。脚本语言通常不需要在使用变量之前声明其类型。只需要直接赋值就可以了。在Bash中,每一个变量的值都是字符串。无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储。有一些特殊的变量会被shell环境和操作系统环境用来存储一些特别的值,这类变量就被称为环境变量。
提示:以下是本篇文章正文内容,下面案例可供参考
一、查看环境变量
变量采用常见的命名方式进行命名。当一个应用程序执行的时候,它接收一组环境变量。可以使用env命令在终端中查看所有与此终端进程相关的环境变量。
查看某一进程的环境变量:
# 根据进程名称获取进程ID号
pgrep XXX
# 根据ID号查看进程环境变量,$PID 为进程ID号
cat /proc/$PID/environ

上面介绍的命令返回一个包含环境变量以及对应变量值的列表。每一个变量以name=value的形式来描述,彼此之间由null字符(\0)分割。如果你将\0替换成\n,那么就可以将输出重新格式化,使得每一行显示一对variable=value。
# tr命令它可以将一组字符变成另一组字符,经常用来编写优美的单行命令;
# 这里tr将'\0' 替换为 '\n'
cat /proc/12501/environ | tr '\0' '\n'

二、使用
环境变量是未在当前进程中定义,而从父进程中继承而来的变量。例如环境变量HTTP_PROXY,它定义了一个Internet连接应该使用哪一个代理服务器。
该环境变量通常被设置成:
HTTP_PROXY=http://192.168.0.2:3128
export HTTP_PROXY
export命令用来设置环境变量。至此之后,从当前shell脚本执行的任何程序都会继承这个变量。我们
可以按照自己的需要,在执行的应用程序或者shell脚本中导出特定的变量。在默认情况下,有很多标准环境变量可供shell使用。在默认情况下,有很多标准环境变量可供shell使用。
PATH就是其中之一。通常,变量PATH包含:
$ echo $PATH
/home/slynux/bin:/usr/local/sbin:/usr/local/bin:/usr/
在给出所要执行的命令后,shell自动在PATH环境变量所包含的目录列表中(各目录路径之间以冒号分隔)查找对应的可执行文件。PATH通常定义在/etc/environment或/etc/profile或~/.bashrc中。如果需要在PATH中添加一条新路径,可以使用:
export PATH="$PATH:/home/user/bin"
#也可以
PATH="$PATH:/home/user/bin"
export PATH
三、通用内容
1、获取字符串长度
var=12345678901234567890
echo ${#var}
2、识别当前的shell版本(两种方式都可以)
echo $SHELL
echo $0
3、检查是否为超级用户
UID是一个重要的环境变量,可以用于检查当前脚本是以超级用户还是以普通用户
echo $UID
当为root用户时 UID 为 0
4、修改终端提示
在终端中都会看到类似于midsummer@VM-4-10-ubuntu:~$ 的提示字符串。
查看提示字符串
cat ~/.bashrc | grep PS1

显示的PS1就是终端所显示的提示符
设置提示字符串 PS1="PROMPT>"
有一些特殊的字符可以扩展成系统参数。
PS1='\u@\h:\w$ ’ <==> midsummer@VM-4-10-ubuntu:~$
例如:
- \u 可以扩展为用户名 => midsummer
- \h 可以扩展为主机名 => VM-4-10-ubuntu
- \w 可以扩展为当前工作目录 => ~
- 可以使用类似\e[1;31的特定转义序列来设置彩色的提示字符串
3966

被折叠的 条评论
为什么被折叠?



