Ebs 中的定制的个人环境变量文件*.env 的加载方法
其执行方法是直接将其绝对路径加入到用户个人的配置文件.profile文件中即可,如下:
$ pwd
/home/oratest
$ ls -al
total 48
drwxr-xr-x 2 oratest tstdba 256 Apr 27 12:59 .
drwxr-xr-x 8 bin bin 4096 Apr 25 15:37 ..
-rwxr----- 1 oratest tstdba 303 Apr 27 12:58 .profile
-rw------- 1 oratest tstdba 1754 Apr 27 13:20 .sh_history
-rw------- 1 oratest tstdba 28 Apr 27 12:59 .vi_history
-rwxr-xr-x 1 oratest tstdba 156 Apr 27 12:59 startdb.sh
-rwxr-xr-x 1 oratest tstdba 154 Apr 27 12:59 stopdb.sh
$
$ more .profile
PATH=/usr/bin:/etc:/usr/sbin:/usr/ucb:$HOME/bin:/usr/bin/X11:/sbin:.
export PATH
if [ -s "$MAIL" ] # This is at Shell startup. In normal
then echo "$MAILMSG" # operation, the Shell checks
fi # periodically.
. /u03/TEST/db/tech_st/10.2.0/CPTEST_erpn.env
$
参考文档如下:
定制AIX操作系统的shell环境
当你登录时,shell会读取以前设置的初始化文件来设置用户环境。用户环境的定义是通过设置环境变量来实现的。当登录操作系统时,shell主要使用两大类profile文件来定义用户环境。一类是用来为所有用户定制环境,另一类是为个人定义自己的环境。
登录时,shell首先执行/etc/profile文件中的命令,然后运行/etc/environment文件中的命令来设置你的系统环境。这两个文件运行完毕后,系统会接着检查在你的home目录下是否有.profile文件,如果.porfile文件存在,就运行它。 .profile文件还会指出是否还有一个环境文件。如果还有环境文件(通常叫.env或者.kshrc)存在,系统会运行这个文件,并设置你的环境变量。
/etc/profile文件
用户在登录时,操作系统定制用户环境时使用的第一个文件就是/etc/profile。这个文件控制着全系统范围内的缺省变量,如Export变量,文件创建的掩码,终端类型,以及新邮件到达时的提示信息等等。
系统管理员为所有用户配置porfile文件,只有系统管理员可以更改这个文件。
/etc/environment文件
在登录时操作系统使用的第二个文件是/etc/environment。/etc/environment文件包含为所有进程所配置基本环境的变量。当一个新进程开始时,exec子程序生成一个形为Name=Value的字符串数组。这个字符串数组被称为环境,每一个被定义名字被称作环境变量或者 shell变量。exec子程序允许整个环境一次设置完成。
当你登录时,系统在读取你自己的profile前,设置环境文件的环境变量。下面是构成基本环境的变量:
HOME:用户登录的或HOME全路径,登录程序从/etc/passwd文件中读取并设置它。
LANG:语言环境
NLSPATH:消息目录的全路径。
LOCPATH:国际语言支持系统表格的全路径
PATH:搜寻命令的目录
TZ:时区信息 ,IBM到现在还得用TAIST——台北时区
【注意】/etc/environment文件中不能包含命令
.profile文件
操作系统在登录时用到的第三个文件是.profile文件。 .profile文件位于用户的home目录,它允许用户定制自己的个人的工作环境。
在登录程序将LOGNAME和HOME变量添加到环境中后,$HOME/.profile文件中的命令就会被执行,.porfile文件中含有你个人的设置会忽略/etc/profile文件中的相矛盾的变量。
一般用.profile来控制下面的缺省值:
打开的shell,命令行提示符,键盘的声音。
.env文件
如果你在.profile文件中有如下内容:ENV=$HOME/.env,操作系统在用户登录时使用的第四个文件是.env文件。.env文件允许用户定制自己的个人的工作环境。文件中含有的你个人的环境变量会忽略/etc/environment文件中的相矛盾的变量。
【注意】/etc/profile,/etc/environment和.profile文件只在登录时运行一次。但是.env文件却在每一次打开一个新shell或一个窗口时都被执行。
【TIP】$HOME/.env文件名可以任意,但在$HOME/.profile中要有相应的声明:export ENV=$HOME/.NewName
【TIP】$HOME/.env文件每当一个子shell被开启都会被执行,所以可以在这里定义在vi中开启的子shell中也可以使用的别名。
【注意】这四个定制环境的文件中,/etc/enviroment文件中只能给变量赋值,而其它三个文件可以使用语句。
AIX系统启动文件概述
内容提要:
用户登录操作系统时,shell先读取您设置的初始化文件,然后定义您的用户环境。用户环境的各项特征由给定的环境变量的值来定义,并保持该环境直到注销系统。
在登录操作系统时,shell使用两种类型的启动配置文件。首先它对配置文件中的命令求值,然后执行命令以设置系统环境。这些文件都具有相似的功能(但是/etc/profile 文件对系统上所有用户都生效,而 .profile 文件只对定制该用户自己的环境生效)。
shell首先根据 /etc/environment文件来设置系统环境,并对包含在 /etc/profile文件中的命令求值并对相应的变量进行赋值。运行这两个文件后,系统将查看在该登录用户的主目录中是否存在 .profile文件。如果 .profile文件存在,则系统运行该文件对用户环境进行进一步配置。另外,.profile文件还将指定是否还有环境文件存在,如果环境文件存在(通常名为 .env),则系统运行此文件,并设置环境变量。
/etc/environment、/etc/profile 和 .profile文件在登录时运行一次。另一方面,.env文件在每次您打开新 shell或窗口时运行。
本文将讨论以下初始化文件:
/etc/environment 文件
/etc/profile 文件
.profile 文件
.env 文件
说明:
/etc/environment 文件
操作系统在登录时使用的第一个文件是 /etc/environment文件,/etc/environment文件中包含指定所有进程的基本环境的变量。当新进程开始时,exec 子例程产生一个可用的字符串数组,其格式为 Name=Value,此字符串数组称为环境。每一个字符串所定义的名字称为一个环境变量或 shell变量。exec子例程允许一次设置整个环境。
登录时,系统在读取名为 .profile的登录概要文件前,从 /etc/environment文件设置环境变量。以下变量组成基本环境:
HOME 用户登录的全路径名或 HOME 目录。login 程序设置它为 /etc/passwd 文件中指定的名称。
LANG 当前有效的语言环境名称。LANG 变量最初在安装时在 /etc/profile 文件中设置。
NLSPATH 消息编目的全路径名。
LOCPATH “本地语言支持表”的位置的全路径名。
PATH 系统命令,如 sh、time、nice 和 nohup 在查找其路径名不完整的命令时搜索的目录顺序。
TZ 时区信息,TZ 环境变量最初由系统登录概要文件 /etc/profile 文件设置。
/etc/profile 文件
操作系统在登录时使用的第二个文件是 /etc/profile文件。此文件控制系统范围的缺省变量,如:
导出变量
文件创建掩码(umask)
终端类型
新邮件到达时作为指示的邮件消息
/etc/profile 文件对系统所有用户都生效,只有系统管理员能配置更改此文件。
下例是一个典型的 /etc/profile 文件:
#Set file creation mask
unmask 022
#Tell me when new mail arrives
MAIL=/usr/mail/$LOGNAME
#Add my /bin directory to the shell search sequence
PATH=/usr/bin:/usr/sbin:/etc::
#Set terminal type
TERM=lft
#Make some environment variables global
export MAIL PATH TERM
.profile 文件
操作系统在登录时使用的第三个文件是 .profile 文件, .profile 文件在用户的主目录($HOME)中,并使用户能够定制个人工作环境。因为 .profile 文件是隐藏的,所以请使用 ls -a 命令列出它。
在 login 程序将 LOGNAME(登录名)和 HOME(登录目录)变量添加到环境以后,将执行 $HOME/.profile文件中的命令(如果该文件存在)。.profile 文件包含用户的个人概要文件,它会覆盖 /etc/profile 文件中的变量集赋值。.profile 文件通常用于设置导出的环境变量和终端方式,通过修改 .profile 文件可定制用户的个人工作环境。一般使用 .profile 文件控制以下缺省值:
打开的 shell
提示符外观
键盘声音
下例是一个典型的 .profile 文件:
PATH=/usr/bin:/etc:/home/bin1:/usr/lpp/tps4.0/user::
epath=/home/gsc/e3:
export PATH epath
csh
此示例定义了两个路径变量(PATH 和 epath),导出它们,并打开一个 C shell(csh)。
还可以使用 .profile 文件(或者,如果它不存在,使用 /etc/profile 文件)来确定登录 shell变量。当然您也可以定制其它 shell环境,例如,使用 .cshrc 文件和 .kshrc 文件来分别定制 C shell 和 Korn shell(在该 shell启动时)。
.env 文件
操作系统在登录时使用的第四个文件是 .env 文件,前提是 .profile 包含以下行:export ENV=$HOME/.env。
.env 文件使您能够定制个人工作环境变量。同样的, .env 文件也是隐藏的,所以要使用 ls -a 命令来列出它。.env 文件包含覆盖/etc/environment文件中变量集的个人用户环境变量。用户可以通过修改 .env 文件来按需定制环境变量。
下例是一个典型的 .env 文件:
export myid= ` id | sed -n -e 's/).*$//' -e 's/^.*(//p' `
#set prompt: login & system name & path
if [ $myid = root ]
then typeset -x PSCH='#:\${PWD}> '
PS1="#:\${PWD}> "
else typeset -x PSCH='>'
PS1="$LOGNAME@$UNAME:\${PWD}> "
PS2=">"
PS3="#?"
fi
export PS1 PS2 PS3
#setup my command aliases
alias ls="/bin/ls -CF" \
d="/bin/ls -Fal | pg" \
rm="/bin/rm -i" \
up="cd .."
注:修改 .env 文件时,请确保新创建的环境变量不会与标准变量(如 MAIL 、 PS1 、 PS2 和 IFS )发生冲突。
参考资料:
1. AIX 5L File Reference, 文件 /etc/environment;
2. AIX 5L File Reference, 文件 /etc/profile。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9561680/viewspace-591909/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/9561680/viewspace-591909/