- 论坛徽章:
- 0
|
为表示我已经搜索过论坛,特整理一个关于此类的FAQ,如下:
Q1.请问root用户的.profile在什么地方啊?
A.
先echo $HOME一下,然后cd $HOME
再ls -a就能看见.profile了
在/etc/profile下!
你在根、下建立。profile也可以!
Q2.我在安装oracle 8i时,自己设定的环境变量和path都不起作用。
A.
改.dtprofile
去掉最后一行的#
不用图形终端(CDE),就不用改.dtprofile!!!
Q3.
.profile、.login和.dtprofile的关系 .我还是比较混乱它们之间的关系,能解释一下吗?
我认为如果在.dtprofile中不注释DTSOURCEFILE一行,就不会理会.profile和.login,但我试过如果这样的话,.dtprofile里面的SCRIPT竟然不能正常运行,很简单地设置一个PS1也不能返回预料中的结果。但直接运行.dtprofile是正常的,只是通过CDE进入的时候就不正常
A
.profile是ksh bsh用的
.login是csh用的
.dtprofile是CDE用的,如果想在CDE下调用.profile可以修改.dtprofie里的DTSOURCEFILEC(名字记得不是很清楚了)参数来实现。
Q4.根目录下的.profile文件与/ect/profile文件有什么区别?也就是有什么不同的功能?谢谢!
A
/.profile 只是给 root 用的, 而 /etc/profile 则对所有用户有效
Q5./etc/profile和/etc/environment?先将export LANG=zh_CN加入/etc/profile ,退出系统重新登录,登录提示显示英文。
将/etc/profile 中的export LANG=zh_CN删除,将LNAG=zh_CN加入/etc/environment,退出系统重新登录,登录提示显示中文。
用户环境建立的过程中总是先执行/etc/profile然后在读取/etc/environment。为什么会有如上所叙的不同呢?
A
应该是先执行/etc/environment,后执行/etc/profile。/etc/environment是设置整个系统的环境,而/etc/profile是设置所有用户的环境,前者与登录用户无关,后者与登录用户有关。系统应用程序的执行与用户环境可以是无关的,但与系统环境是相关的,所以当你登录时,你看到的提示信息,象日期、时间信息的显示格式与系统环境的LANG是相关的,缺省LANG=en_US,如果系统环境LANG=zh_CN,则提示信息是中文的,否则是英文的。
对于用户的SHELL初始化而言是先执行/etc/profile,再读取文件/etc/environment.对整个系统而言是先执行/etc/environment。这样理解正确吗?
/etc/enviroment --> /etc/profile --> $HOME/.profile -->$HOME/.env (如果存在)
/etc/profile 是所有用户的环境变量
/etc/enviroment是系统的环境变量
登陆系统时shell读取的顺序应该是
/etc/profile ->/etc/enviroment -->$HOME/.profile -->$HOME/.env
如果同一个变量在用户环境(/etc/profile)和系统环境(/etc/environment)有不同的值那应该是以用户环境为准了。
Q6.root的.profile文件是指.dtprofile?如果不是,它的位置在哪,还有/etc/profile和个人home目录中有local.profile和.profile有什么驱别?
A
root的.profile在/目录下。local.profile在/etc/skel下,是个模版文件。用admintool创建用户时系统不会将模版文件复制到用户主目录,而用useradd命令时系统会将local.profile复制到用户主目录并改名为.profile,当然看你给用户定义什么SHELL了。不同SHELL用户用不同的文件:
BSHELL:.profile
KSHELL:.profile,.kshrc
CSHELL:.login,.cshrc
原因应该是jtw所说的用户环境和系统环境的区别了
Q7.
关于.cshrc .profile和.login相互之间的关系
A
如果默认的 login shell 为 borne shell,登录后执行 .profile 里的内容,如果 login shell 为 csh,则执行 .login 中的内容, .cshrc 进入 csh 时会执行一遍,不一定是登录,比如
user@host:~$ csh
user@host:~%
读入 .cshrc 。
Q8..dtprofile 和 .profile 有什么区别?
前者是再DCE环境下使用的,DCE环境下不使用.profile和profile。
Hi,
.dtprofile is sourced when you login using Desktop (CDE, etc), it's not sourced when you login through terminal (telnet, etc).
.profile is souced in almost all situations. But when you login through CDE, you have to uncomment the last line in the .dtprofile so that the .profile will be sourced.
Hope this explains.
补充一下:
在.dtprofile中,如果DTSOURCEPROFILE=true
则会执行.profile
Q9.如何找到某一个用户的profile文件.如何找到某一个用户的profile文件.useradd后,没建home dir.
A
给他建个home目录,系统会自动去认home目录下的.profile
具体方法:在/etc/passwd中加入abc:1001:24:ABC:/home/abc:/bin/ksh
解释:abc是用户名,x表示密码字段,1001是uid,24是gid,ABC是用户信息,/home/abc是用户home目录,系统会自己到下面去找.profile执行,/bin/ksh是用户默认使用的shell
如果你建立过用户但是没有指定目录,那么按照上面的格式补完整,home目录要手工建立的,把需要设置的环境写到home目录下的.profile去
Q10.我不小心删除了网管的.profile文件,请问能否恢复啊?
A
cp /etc/skel/local.profile $/.profile
然后加入你需要增加的PATH
Q11.请教高手,哪里有详细介绍.profile文件配置的资料。里面的路径什么的 都 怎么配啊?
A
http://osr507doc.sco.com/en/OSTut/Setting_your_path.html
Q12.怎样设置csh的环境变量,我的当前用户目录下有下列设置环境变量的文件(我觉得是): .cshrc, local.cshrc, .profile, local.profile,local.login 请问我应该选择那一个设置环境变量呢?在csh下怎样设置永久的PATH,永久的MANPATH, 永久的NETCDFHOME,永久的GMTHOME?
A
.cshrc里设置就可以啦,setenv
#cat .cshrc
# @(#)cshrc 1.11 89/11/29 SMI
umask 022
set path=(/bin /usr/bin /usr/ccs/bin /opt/SUNWspro/bin /etc .)
if ( $?prompt ) then
set history=32
endif
setenv NETCDFHOME /usr/local/gmt/netcdf-3.6.1
setenv GMTHOME /usr/local/gmt
set path=(/usr/local/gmt/bin $path)
set manpath=(/usr/local/gmt/man/manl) |
|