常见的环境变量
对于 PATH和HOME等环境变量大家都不陌生 。
PATH能够指定命令的搜索路径,那么动态链接库的路径用什么变量指定呢?或者就是在 PATH里面?
比如有一个程序需要/usr/local/lib下面的一个库文件,应该怎么指定其路径呢?
经常看到有些变量如 LD_LIBRARY_PATH,LIBPATH,CLASSPATH等,他们之间有什么不同和关系?
除此之外,还有下面一些常见环境变 量 。
◆ HISTSIZE是指保存历史命令记录的条数 。
◆ LOGNAME是指当前用户的登录名 。
◆ HOSTNAME是指主机的名称 , 许多应用程序如果要用到主机名的话 , 通常是从这个环境变量中来取得的 。
◆ SHELL是指当前用户用的是哪种Shell 。
◆ LANG/LANGUGE是和语言相关的环境变量,使用多种语言的用户可以修改此环境变量 。
◆ MAIL是指当前用户的邮件存放目录 。
◆ PS1是基本提示符 , 对于root用户是#,对于普通用户是$ 。PS2是附属提示符,默认是“” 。可以通过修改此环境变量来修改当前的命令符,比 如下列命令会将提示符修改成字符串“Hello,My NewPrompt ” 。
linux的shell脚本中的set是什么意思?怎么理解set命令作用主要是显示系统中已经存在的shell变量,以及设置shell变量的新变量值 。使用set更改shell特性时,符号"+"和"-"的作用分别是打开和关闭指定的模式 。set命令不能够定义新的shell变量 。如果要定义新的变量,可以使用declare命令以变量名=值的格式进行定义即可 。使用:set(选项)(参数)
例如:
declare mylove='Visual C++' #定义新环境变量
再使用set命令将新定义的变量输出为环境变量,输入如下命令: set -a mylove
标示已修改的变量,以供输出至环境变量 。
-b:使被中止的后台程序立刻回报执行状态
-C:转向所产生的文件无法覆盖已存在的文件
-d:Shell预设会用杂凑表记忆使用过的指令,以加速指令的执行 。使用-d参数可取消 。
-e:若指令传回值不等于0,则立即退出shell 。
-f:取消使用通配符 。
-h:自动记录函数的所在位置 。
-H Shell:可利用"!"加指令编号的方式来执行history中记录的指令 。
-k:指令所给的参数都会被视为此指令的环境变量 。
-l:记录for循环的变量名称 。
-m:使用监视模式 。
-n:只读取指令 , 而不实际执行 。
-p:启动优先顺序模式 。
-P:启动-P参数后,执行指令时 , 会以实际的文件或目录来取代符号连接 。
-t:执行完随后的指令,即退出shell 。
-u:当执行时使用到未定义过的变量,则显示错误信息 。
-v:显示shell所读取的输入值 。
-x:执行指令后,会先显示该指令及所下的参数 。
Linux里面set -e命令作用是什么?Linux里面set -e命令作用是,如果一个命令返回一个非0退出状态值(失败),就退出.
这个命令-e参数企业应用极少
set的“+” ,"-" 分别用于关闭或者打开某些特性;具体的特性有很多 , 这里介绍 -e 特性:
set -e ; 表示后续所有的bash 命令的返回code 如果不是0,那么脚本立即退出 , 后续的脚本将不会得到执行的机会;
set +e ; 这个是默认的状态 , 表示就算后续的命令如果返回值不是0 , 那么脚本依然向下执行;
所以 set -e其实就是从设置的位置起,给脚本的每一条命令加上了同一个退出条件;而set +e 则是取消这种设置;
看下面的例子:
[root@oldboy ~]# cat test.sh
#!/bin/bash
function lookupstr(){
grep "sles" /etc/os-release /dev/null 21
推荐阅读
- 怎么添加视频号功能,怎么添加视频号功能图标
- 智能电视机怎么刷机,智能电视机怎样刷机
- 直播卖货是什么思维,直播卖货的思维导图
- 模拟舰船战争游戏,舰艇模拟器手机版下载
- java中新增数据的代码 java添加数据
- iosarcade怎么订阅,如何订阅apple arcade
- 呼吁公众号封面怎么写,公众号封面文案
- 视频为什么没有快进功能,视频为什么没有快进功能了
- python函数加速 python函数可加快程序执行速度