AIX环境变量简介及使用

标签: aix 环境变量 简介 | 发表时间:2012-12-23 20:44 | 作者:BOBO12082119
出处:http://blog.csdn.net
环境变量是操作系统环境设置的变量,适用于整个系统的用户进程;
环境变量可以在命令中设置,但是用户注销的时候将会丢失这些设置值;
若要重复适用,则最好在.profile中定义;环境变量的使用与本地变量的使用方法相同,
但是在使用之前,必须用export命令导出。

1.设置环境变量
同一行键入2个语句,使用分号隔开
VARIABLE-NAME=value; export VARIABLE-NAME
也可以分行写:
VARIABLE-NAME=value
export VARIABLE-NAME

2.查看环境变量:env

3.清除环境变量:unset VARIABLE-NAME

4.嵌入shell变量
4.1 CDPATH:此变量保留了一些目录信息,用冒号“:”隔开。
如果设置了此变量,在cd一个目录的时候,shell会先去查找此变量保存的值;
如果此变量中保存了cd切换的目录,则切换到该目录下。

4.2 EXINIT:此变量保存使用vi编辑器的初始化选项,如显示行号,并在第10个空格加入tab键,
命令为:EXINIT='set nu tab=10';export EXINIT

4.3 HOME:HOME目录,通常用于定位passwd文件的倒数第2列,指定用户登录后进入自己的目录,
在这个目录下保存用户自己的文件信息。当输入:cd $HOME时,就切换到用户的跟目录下。

4.4 IFS:用于shell指定的缺省域分隔符;缺省域分隔符可以为:空格、新行、tab键。

4.5 LOGNAME:保存登录名

4.6 MAIL:保存邮箱路径名,默认为/var/spool/mail/<login-name>。

4.7 MAILCHECK:默认为没60s检查新邮件,可以设置为其他时间,如180s。

4.8 MAILPATH:存储多个用户的邮箱路径,设置此变量将覆盖MAIL的值。

4.9 PATH:保存进行命令或脚本查找的目录顺序,对这些目录的排序很重要,
因为这关系到执行命令查询时间问题;通常我们都是先从用户根目录下去查询,在到其他目录下。

4.10 PS1:基本提示符,超级用户为#,普通用户可以任意设置。

4.11 PS2:附属提示符,默认“>”,用于执行多行命令或超过一行的一个命令。

4.12 SHELL:保存默认shell,通常在/etc/passwd中设置,可以进行修改,使用其他shell。

4.13 TERMINFO:终端初始化变量保存终端配置文件的位置。

4.14 TERM:保存终端类型,设置TERM是应用获知终端对屏幕和键盘响应的控制序列类型,
如vt100、vt200等

4.15 TZ:保存时区值,只有系统管理员才可以更改此设置。

5.其他环境变量
还有其他一些预留的环境变量,其他系统或命令行应用将用到他们,如:
5.1 EDITOR:设置编辑器,这个比较常用。
5.2 PWD:保存当前工作路径名。
5.3 PAGER:保存屏幕翻页命令,如pg、more
5.4 MANPATH:保存系统上man文件的目录,各个目录之间用“:”隔开。
5.5 LPDEST或PRINTER:保存默认打印机名,用于打印作业是指定打印机名。

6.set命令
在$HOME.profile文件中,设置环境变量时,除了export可以导出之外,还有set -a命令,
可以指明所有变量直接被导出;不过别在/etc/profile中设置,在自己的$HOME.profile中设置。

下面是一个shell脚本的实例
在father.sh脚本中,调用child.sh脚本,并修改father.sh中的变量值,如下:
pg father.sh
# father script
echo "This is the father"
SMART_PHONE="iPhone 5"
echo "I have the phone:$SMART_PHONE"
# call the child script
sh child.sh
echo "The phone father owned is:$SMART_PHONE"

pg child.sh
# child
echo "called from father..i am the child"
echo "phone is:${SMART_PHONE:-unknow}"
SMART_PHONE="Meizu MX2"
echo "changing SMART_PHONE to:$SMART_PHONE"
执行脚本:
sh father.sh
This is the father
I have the phone:iPhone 5
called from father..i am the child
phone is:unknow
changing SMART_PHONE to:Meizu MX2
The phone father owned is:iPhone 5
可以看到,在子进程中并不认识父进程中的变量,这是因为我们没在父进程中导出变量值。
修改father.sh脚本:
pg father.sh
# father script
echo "This is the father"
SMART_PHONE="iPhone 5"
echo "I have the phone:$SMART_PHONE"
# call the child script
export SMART_PHONE
sh child.sh
echo "The phone father owned is:$SMART_PHONE"
现在执行修改后的脚本,子进程认识父进程传递过来的变量了:
sh father.sh
This is the father
I have the phone:iPhone 5
called from father..i am the child
phone is:iPhone 5
changing SMART_PHONE to:Meizu MX2
The phone father owned is:iPhone 5
--the end--
作者:BOBO12082119 发表于2012-12-23 20:44:40 原文链接
阅读:0 评论:0 查看评论

相关 [aix 环境变量 简介] 推荐:

AIX环境变量简介及使用

- - CSDN博客推荐文章
环境变量是操作系统环境设置的变量,适用于整个系统的用户进程; 环境变量可以在命令中设置,但是用户注销的时候将会丢失这些设置值; 若要重复适用,则最好在.profile中定义;环境变量的使用与本地变量的使用方法相同, 但是在使用之前,必须用export命令导出. 如果设置了此变量,在cd一个目录的时候,shell会先去查找此变量保存的值; 如果此变量中保存了cd切换的目录,则切换到该目录下.

Java环境变量Classpath

- - 译言-电脑/网络/数码科技
Classpath是一个参数,它的值可以通过命令行指定,或者通过环境变量来指定. Classpath这个参数的值,被Java虚拟机或者Java编译器所使用,它告诉Java虚拟机机,Java编译器,去哪里寻找用户定义的类和包. 与传统的动态载入行为类似,当执行一个Java程序的时候,Java虚拟机会寻找和载入类(但是,只有当这个类被用到的时候,Java虚拟机才会载入它.

AIX常用命令与参数调整

- - CSDN博客系统运维推荐文章
UNIX中的netstat可用来判断网络缓存区急用的情况,例如netstat中关于queue的overflow信息. 这些信息可表明TCP,UDP队列的相关状态. AIX提供了no命令来设置网络的相关内核配置. 在启动某个进程时,VMM需要为该进程分配虚拟内存空间,以存放进程的数据和结构. 这时,VMM维护了一个未分配虚拟内存页帧的空闲列表,该列表用来处理系统中的进程缺页问题.

Kettle环境变量在ETL工程上的应用

- - 行业应用 - ITeye博客
    好久没更新博文,最近临近离职,事情少了,有空停下来总结总结这段时间的东西.     今天先记录下Kettle环境变量的应用.     一个好的环境变量的使用,在业务变更或者环境变动后,只需要很少工作量的修改即可完成. 我们把变量分成系统环境变量和业务变量,系统环境变量是指那些在ETL中指定的系统级资源配置,如数据库信息、日志文件路径等等,这些变量一旦设定,不会经常变动;业务变量指跟当前ETL执行处理的内容有关,如日期、产品ID等等,跟运行时有关.

Linux下通过crontab调度脚本时脚本所使用的环境变量问题

- - CSDN博客推荐文章
通过crontab调度脚本时脚本使用的环境变量与直接在shell中运行脚本时使用的环境变量不同(因为crontab并不知道你所使用的shell,只是简单的设置了HOME、LOGNAME、SHELL和有限的PATH等环境变量),因而可能导致“XXX command not find”的错误或者运行结果不一致的情况.

Flask-Babel 简介

- yinseny - python.cn(jobs, news)
本文有一个格式好看一点,并且有语法高亮的版本放在 readthedocs,欢迎浏览. 本文是原创,不是翻译,不过本文其实是谈翻译的. 话说用 wordpress 的 WYSIWYG 编辑器写这样的文章真痛苦啊,格式一不小心就乱了,本文是用 rst 写成,编译为 html,然后贴到这边来的. 最近用 Flask 给公司做了个小 web 应用,做的时候用英文了,现在要求翻译成中文.

AsciiDoc简介

- dayu - 桃源
AsciiDoc 是一种简单的基于纯文本的文档生成工具, 与它类似的还有 reStructuredText, Markdown. 说是生成文档, 其实它可以将纯文本文件转换成各种类型, 比如:. Man Page (示例). Graphviz 图形 (示例). 使用AsciiDoc进行文档编写最著名的恐怕是Git官方的 Git User’s Manual (我表示对于初学者很难看懂), 这篇博客也是通过AsciiDoc生成, 文后会附上本文的原始代码以便参考..

ABAP简介

- - 博客园_首页
中文名称:高级企业应用编程语言. 英文全称:Advanced Business Application Programming. 德语全称:Allgemeiner Berichtsaufbereitungsprozessor(通用报表预处理器). 概述:一种高级编程语言,起源于20世纪80年代,由德国软件公司SAP开发,主要用作SAP的编程,现行版本为ABAP/4,同时支持面向过程和面向对象.

json简介

- - ITeye博客
    JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成. 它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集. JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯,这些特性使JSON成为理想的数据交换格式.

[转]amanda 简介

- - 小鸥的博客
    安装mysql数据库是会发现三个用户 mysql 、postmyql 、amanda,其中amanda是什么呢.   Amanda 是最早出现的开源备份 软件. 它的名字来自Maryland大学. Amanda的意思是高级Maryland 硬盘归档器..   Amanda通过 操作系统上 一些自带的备份工具,例如tar(Unix/linux)、zip(Windows)来实现备份的计划,自动化和跟踪等功能.