签到成功

知道了

CNDBA社区CNDBA社区

Solaris 默认Shell 修改

2016-11-25 15:46 1883 0 原创 Linux
作者: dave

 

Solaris 有很多方面都用这和以前不大一样,下面讲Solaris中Shell的一些问题解决方法。

Solaris的默认Shell是sh,即命令行提示符为(root用户):#

而在用Linux命令行的提示符中既有用户名,还有主机名称以及当前路径的名称。这样可以给人一目了然的感觉。不过Linux下一般默认Shell是bash,而不是sh。如果只想在当前的使用中切换Shell的话,方法很简单,可以在命令行中输入:

$ bash

bash-3.00$ csh

http://www.cndba.cn/Dave/article/694

david% sh

http://www.cndba.cn/Dave/article/694
http://www.cndba.cn/Dave/article/694

$http://www.cndba.cn/Dave/article/694http://www.cndba.cn/Dave/article/694


如果要永久性的改变默认的shell,则需要修改/etc/passwd文件。打开passwd,第一行记录的是root用户的相关信息,该行内容为:
root:x:0:0:Super-User:/:/sbin/sh

其中,最后一个冒号后面即为root用户的默认shell,我们将其修改为bash的路径:
root:x:0:0:Super-User:/:/usr/bin/bashhttp://www.cndba.cn/Dave/article/694http://www.cndba.cn/Dave/article/694

 

 

当然,我们也可以使用stty 命来修改, 具体参考blog:

stty 命令

http://blog.csdn.net/tianlesoftware/archive/2010/03/15/5381984.aspx

 

http://www.cndba.cn/Dave/article/694

Shell 和 Shell Script 的说明:

DOS 的 COMMAND.COM 就是一种 shell,负责解译你所下的指令并执行它。同样
的,UNIX 上也有这,它是在你成功 login 以後由系统自动启动的。
UNIX 上有不少种 shell,sh, csh, ksh, tcsh, bash 等,一般都是用csh,login shell 可用 ypchsh 命令改变,但你必须先知道你要换的新壳子在那个目录下。tcsh 有类似 DOSKEY 的功能。

http://www.cndba.cn/Dave/article/694
http://www.cndba.cn/Dave/article/694

DOS 中有所谓的批次档,用以方便处理一些例行工作。UNIX 也有批次处理,它就叫做 Shell Script,而且比 DOS 的批次档强很多,写法几乎是一个高阶语言。Shell Script 是个文字档,但其地位和其它的命令或可执行档是完全相同的,只要用 chmod 指令将 Shell Script 存取权设为可执行即可。$home 目录下的 .login 档就是一个典型的 Shell Script,类似 DOS 的autoexec.bat。

保存文件passwd,退出。

这样,就可以实现用Tab键补全命令行的输入和上下箭头实现输入命令的历史回放,而sh却没有这样的功能。但是,仅仅这一点修改,并不能实现命令行提示符中出现象Linux提示符中既有用户名,又有主机名和当前路径名。

需要另外编辑文件。即在$HOME下新建文件.profile,如果文件存在的话就在里面添加内容。由于是root用户,所以$HOME的路径为根目录/。在根目录下新建文件.profile,并在其中添加如下内容:

PS1='[/u@/h:$PWD]#'
export PS1

保存退出该文件,并重启系统。进入系统后,打开一个终端,则命令行提示符为:

[root@solaris:/]#

执行命令:
[root@solaris:/]#echo $SHELL //查看系统默认的shell
/usr/bin/bash

执行命令:
[root@solaris:/]#cd home

则命令行变为:
[root@solaris:/home]#

其中,root是指用户名,solaris是主机名,/home为当前路径。

当然,如果习惯使用csh,可以先将shell切换至csh。然后可以输入命令:
#set filec

这样,可以在csh下实现命令行补全。不过,补全输入使用的不是Tab键,而是ESC键

 

我们在编写shell 脚本的时候, 必须在第一行加上“#!/bin/ksh”。这个就是指出要用哪个程序来执行脚本中的行。


注: 整理自网络

版权声明:本文为博主原创文章,未经博主允许不得转载。

用户评论
* 以下用户言论只代表其个人观点,不代表CNDBA社区的观点或立场
dave

dave

关注

人的一生应该是这样度过的:当他回首往事的时候,他不会因为虚度年华而悔恨,也不会因为碌碌无为而羞耻;这样,在临死的时候,他就能够说:“我的整个生命和全部精力,都已经献给世界上最壮丽的事业....."

  • 2297
    原创
  • 3
    翻译
  • 652
    转载
  • 198
    评论
  • 访问:9668242次
  • 积分:4550
  • 等级:核心会员
  • 排名:第1名
精华文章
    最新问题
    查看更多+
    热门文章
      热门用户
      推荐用户
        Copyright © 2016 All Rights Reserved. Powered by CNDBA · 皖ICP备2022006297号-1·

        QQ交流群

        注册联系QQ