SHELL 中的变量

寵の児 提交于 2020-04-02 06:23:50

变量的分类

系统环境变量

系统本身所有,通常为大写字母
系统变量通过 set 或 declare 指令进行查看

UDV 变量(user defined variable )

用户创建和维护,建议大写
原因:
避免冲突与混淆,因为 Linux 系统中命令全部采用小写的方式

变量的属性和定义

变量的属性

  1) Shell 中所有变量定义都为字符串。
  2) 变量区分大小写,如:foo 和 Foo 是两个不同的变量
  3) 变量必须以字母或下划线开头,不得有", : "等特殊字符。

变量的声明

1) 变量的定义

  变量名=值 (变量名与值之间”=”号没有空格)
  举例:

LANG=ab

2) 声明带空格变量

  需要加上引号””
  举例:

Y="23 67"

3) 声明一个只读变量

readonly Y_UDV=guozi

4) 修改变量

修改环境变量

 例:

PATH=$PATH:/opt/bin

  修改用户自定义变量 例:

SRC=”guozi”

5)取消变量

unset SRC

变量的使用

变量前加“$”符号

echo $SRC
echo ${SRC}
echo "${SRC}"
echo ${SRC}AA  #{}称为界定符,用界定符可以直接在变量后面加文字

注:单引号时,变量不会被扩展(expand),将依照原样显示。

环境变量

  环境变量是未在当前进程中定义,而从父进程中继承而来的变量。例如环境变量
HTTP_PROXY ,它定义了互联网连接应该使用哪个代理服务器。
该环境变量通常被设置成:

HTTP_PROXY=192.168.1.23:3128
export HTTP_PROXY

  export 命令用来设置环境变量。至此之后,从当前shell脚本执行的任何应用程序都会继承这个变量。我们可以按照自己的需要,在执行的应用程序或者shell脚本中导出特定的变量。在默认情况下,有很多标准环境变量可供shell使用。
PATH 就是其中之一。通常,变量 PATH 包含:

$ echo $PATH
/home/slynux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games

  在给出所要执行的命令后,shell会自动在 PATH 环境变量所包含的目录列表中(各目录路径之间以冒号分隔)查找对应的可执行文件。 PATH 通常定义在/etc/environment或/etc/profile或~/.bashrc中。如果需要在 PATH 中添加一条新路径,可以使用:

export PATH="$PATH:/home/user/bin"
# 也可以使用
$ PATH="$PATH:/home/user/bin"
$ export PATH
$ echo $PATH
/home/slynux/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr
/games:/home/user/bin

  这样,我们就将/home/user/bin添加到了 PATH 中。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!