Solaris下各shell启动文件
bash
过程执行文件顺序
login过程
1
/etc/profile
2
~/.bash_profile
3
~/.bash_login
4
~/.profile
最少需配置文件
/etc/profile
csh
过程执行文件顺序
login过程
1
/etc/.login
2
~/.cshrc
3
~/.login
最少需配置文件
/etc/.login
tcsh
过程执行文件顺序
login过程
1
/etc/.cshrc
2
/etc/.login(/etc/csh.login)
3
~/.tcshrc
4
~/.cshrc
5
~/.history
6
~/.login
7
~/.cshdirs
最少需配置文件
/etc/.cshrc
Solaris下各shell环境变量的设置
sh
NAME=value1
export NAME
NAME=value2:$NAME
unset NAME
set(internal)或者env(exported)
如果需要子进程也看到该环境变量,需要使用export
ksh
NAME=value1
export NAME
NAME=value2:$NAME
unset NAME
set(internal)或者env(exported)
如果需要子进程也看到该环境变量,需要使用export
csh
setenv NAME value1
setenv NAME value2:$NAME
unsetenv NAME
set
不需要使用export
bash
NAME=value1
NAME=value2:$NAME
unset NAME
set或者env
如果需要子进程也看到该环境变量,需要使用export
Solaris下登录日志、操作日志最终测试结果
Solaris下登录日志、操作日志在登录、执行shell命令、su切换、su -切换场景下的测试结果如下:
Solaris
shell
操作
who -m
id
$0或者$shell
是否需要登录日志
登录日志是否存在
是否需要操作日志
操作日志是否存在
bash
登录
bash1
bash1
-bash
是
是
是
是
bash
bash1
bash1
bash
否
否
是
是
su bash2
bash1
bash2
bash
是
否
是
是
su - bash2
bash1
bash2
-bash
是
是
是
是
sh
登录
sh1
sh1
-sh
是
是
是
否
sh
sh1
sh1
sh
否
否
是
否
su sh2
sh1
sh2
sh
是
否
是
否
su - sh2
sh1
sh2
-sh
是
是
是
否
ksh
登录
ksh1
ksh1
-ksh
是
是
是
是
ksh
ksh1
ksh1
ksh
否
否
是
否
su ksh2
ksh1
ksh2
ksh
是
否
是
否
su - ksh2
ksh1
ksh2
-ksh
是
是
是
是
tcsh
登录
tcsh1
tcsh1
-tcsh
是
是
是
是
tcsh
tcsh1
tcsh1
tcsh
否
否
是
是
su tcsh2
tcsh1
tcsh2
tcsh
是
是
是
是
su - tcsh2
tcsh1
tcsh2
-tcsh
是
是
是
是
csh
登录
csh1
csh1
/bin/csh
是
是
是
否
csh
csh1
csh1
/bin/csh
否
否
是
否
su csh2
csh1
csh2
/bin/csh
是
否
是
否
su - csh2
csh1
csh2
/bin/csh
是
是
是
否
标黄部分即表明在当前配置方法下,不符合要求的。
Solaris下操作日志实现方法
上表中操作日志测试结果,其中使用的方法如下所示:
操作系统
实现方法
SHELL
Bourne-Again Shell
POSIX Shell
Bourne Shell
Korn Shell
C Shell(csh)
C Shell(tcsh)
Solaris
PROMPT_COMMAND
可以
无shell
不支持
不支持
不支持
不支持
trap
未测试
无shell
不可以
未测试
不支持
不支持
trap(函数)
未测试
无shell
不可以
可以
不支持
不支持
precmd
不支持
无shell
不支持
不支持
不支持
可以