本文转载自:http://cool.worm.blog.163.com/blog/static/64339006200971840293/

在学习或使用shell时,我们发现shell通常与UNIX/Linux操作系统的不同版本相关联。例如,Bourne和Korn shell经常与AT&T UNIX关联,C shell与Berkeley UNIX关联,而Bash shell与Linux关联。下面我们就来看一下各种不同类型的shell。

在UNIX/Solaris中,主要有两种类型的shell:

  • The Bourne Shell(包括sh, ksh和bash)
  • The C Shell (包括csh和tcsh)

由于这两种shell的不用,Solaris下各自设置的环境变量的方法也不同。

Bourne shell

它是Solaris下默认的shell,其环境变量设置就在用户的默认目录下,如user1,则其环境变量配置是在/export/home/user1/.profile中设置的。但是root用户的环境变量在/etc/profile下。

另外,如果从普通用户su到root时,发现其环境变量设置不能生效,一阵搜索后,发现必须这样用:

#su - root

例如设置PATH,LD_LIBRARY_PATH等环境变量:

PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/openwin/bin
export PATH

LD_LIBRARY_PATH=/usr/lib:/usr/local/lib:/usr/sfw/lib
export LD_LIBRARY_PATH

C shell

环境变量的路径是在用户目录下的.cshrc 文件下设置的。例子如下:

setenv PATH /usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/openwin/bin
setenv LD_LIBRARY_PATH /usr/lib:/usr/local/lib:/usr/sfw/lib

 

 

修改User的默认shell 主要有两种方式:

  • 直接修改 /etc/passwd 文件

vi /etc/passwd
修改shell为bshell
/sbin/sh -> /bin/bsh

  • 通过usermod命令的-s参数修改

usermod -s /usr/bin/bash root


Logo

更多推荐