第5章 使用Linux环境变量

原创 2015年07月07日 20:33:49

bash shell 用一个称作环境变量的特性存储有关shell会话和工作环境的信息。
这也是他们为什么被称作环境变量的原因,它允许你在内存中存储数据,以便在运行在shell上的程序和脚本访问。

这也是存储永久数据的一种简便方法,这些数据可以使用来识别用户账户、系统、shell的特性以及任何其他你需要存储的数据。

p101

全局环境变量和局部环境变量。
全局:哪都可见,在进入bash之前就已经存在了。 printenv 查看全局环境变量。
局部:只有当前shell进程可见。
Linux系统中,并没有这样一个命令只显示局部环境变量。
set命令:会显示为某个特定进程设置的所有环境变量。当然,也包括全局环境变量。

设置环境变量

[root@localhost bin]# test=hellogood
[root@localhost bin]# echo $test
hellogood
警告:在环境变量名称、等号和值之间没有空格,这一点非常重要。
如果你在赋值表达式中放了空格,bash shell就会把值当做一个单独的命令。

在另一个进程(包括子进程)中,是无法访问的。

export :设置全局环境变量: export test
删除环境变量: unset test,在处理全局环境变量时,如果你是在子进程里面删除了一个全局环境变量,它只对子进程有效。

有一些默认的shell环境变量。

PATH 变量同时显示了shell查找命令的顺序。

修改PATH: $PATH:bin/..

登陆shell会从4个不同的启动文件里读取命令:
/etc/profile
HOME/.bashprofileHOME/.bash_login
$HOME/.profile
第一个是主启动文件,系统上的每个用户登陆都会执行这个启动文件,另外三个启动文件是用户专有的,可以定制。

只要你登陆了Linux系统,bash就会执行/etc/profile文件中的命令。具体见 p115

交互式shell:
如果你的bash shell不是登录时启动的(比如你在命令行提示符下敲入bash启动),你启动的shell称作交互式的shell。不会去访问/etc/profile的,而是去HOME目录查看.bashrc是否存在。

非交互式shell:系统执行shell脚本时用的就是这种shell。你不用担心它没有命令行提示符,但当你每次在系统上运行时仍要运行特定的启动命令。(没读懂)

支持数组。但是不常用。

别名:alias -p

可以用alias 来创建自己的别名:
例如:alias li=‘ls -il’
命令别名的行为和局部变量差不多,他们通常只在定义他们的shell进程中有效。

$HOME/.bashrc 是命名别名的好地方,因为bash shell在启动交互式shell时总是会读取位于该地方的启动文件。

看到了 P122 文件权限

版权声明:本文为博主原创文章,未经博主允许不得转载。

Linux Shell中的变量-环境变量

参考:《Linux命令 / 编辑器与Shell编程》 ################################################ note that :与其他编程语言不同,B...
  • u012005313
  • u012005313
  • 2015年10月07日 15:12
  • 1048

Linux 应用程序的环境变量

GNU/Linux下面每个程序运行都有一个所谓的运行环境,这里的环境实际上就是一组变量的定义。所有的变量和他们的值都是字符串形式表达的。通过转换,通常变量名字都是用大写字符表达。  对于环境变量...
  • jackie_lee2011
  • jackie_lee2011
  • 2013年06月08日 09:17
  • 1066

linux下环境变量操作API

由于自己编写操作环境变量比较繁琐
  • u014365378
  • u014365378
  • 2014年07月30日 21:31
  • 290

Shell脚本定义变量和环境变量的引用

一、定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。同时,变量...
  • qq_21792169
  • qq_21792169
  • 2016年05月07日 14:24
  • 8609

笔记 第5章 鸟哥的linux私房菜第三版

1、在窗口或程序的编辑选项中,有一个首选项的选项。首选项可以设置窗口显示的格式,改变窗口风格以及环境变量。 2、如何修改四个virtual desktop的壁纸,使它们都不相同?? 3、重启x w...
  • yanbo13
  • yanbo13
  • 2014年06月16日 17:16
  • 201

Linux环境变量及其设置

简介环境变量是在操作系统中一个具有特定名字的对象,它包含了一个或多个应用程序将使用到的信息。Linux是一个多用户的操作系统,每个用户登录系统时都会有一个专用的运行环境,通常情况下每个用户的默认的环境...
  • LLZK_
  • LLZK_
  • 2016年12月22日 17:33
  • 2959

《Linux命令行与shell脚本》笔记--第5章:使用Linux环境变量

5.1 什么时环境变量 bash shell用一个成为环境变量的特性来存储有关的shell回话和工作环境的信息,这是它们成为环境变量的原因。它允许你在内存中存储数据,以便运行在账户、系统、shel...
  • z1106609486
  • z1106609486
  • 2016年05月25日 15:16
  • 403

Linux bash shell环境变量以及语法规范

Shell作为外围软件生态群其中一个非常重要的组件。它是操作系统最外层的接口,负责直接面向用户交互并提供内核服务,包括命令行接口(CLI)或图形界面接口(GUI)两种形式。以CLI为例,它提供一套命令...
  • Jif_L
  • Jif_L
  • 2013年04月05日 22:25
  • 3287

Linux C打印所有的环境变量

1、在终端显示环境变量执行env命令nii@mmch:~/code$ env LC_PAPER=zh_CN.UTF-8 LC_ADDRESS=zh_CN.UTF-8 XDG_SESSION_ID=4 ...
  • u010889616
  • u010889616
  • 2015年08月31日 14:18
  • 1647

C获取linux系统环境变量方法(Environment Variables)

主要有三种方法,都很简单。 1 一个单纯c语言获取的方式 #include #include int main(){ char *pathvar = getenv("PATH");...
  • sole_cc
  • sole_cc
  • 2014年12月28日 14:55
  • 1483
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:第5章 使用Linux环境变量
举报原因:
原因补充:

(最多只允许输入30个字)