跳到内容 中国
HP.com 主页 产品与服务 支持及驱动程序 解决方案 如何购买
» 联系惠普
更多选项
HP.com 主页
使用 HP-UX: HP 9000 计算机 > 第 3 章 使用 Shell

Shell 功能:确定和更改 Shell

» 

技术文档资料

完整的 PDF 手册
» 反馈
内容从此开始:

 » 目录

 » 词汇表

 » 索引

HP-UX 中包含多种不同的 shell,以供选择。本部分将对 POSIX 和 Bourne shell 进行讨论。有关 C shell 的详细信息,请参阅《《Shells: User's Guide》》。

其中的每个 shell 都具有与众不同的功能。了解了 shell 的某些内在功能后,便可以通过与 HP-UX 的交互来提高速度和效率。

使用 POSIX shell,可以编辑命令行及回调以前的命令。可以使用 shell 变量登录脚本“定制”shell 环境。

使用简单的命令,可以确定运行的 shell,也可以暂时或永久更改 shell。有关每个 shell 文件名和缺省的系统提示符的列表,请参阅“确定登录 Shell ”

注释:选择缺省的 shell。

自 HP-UX 10.0 发行版起,OSF POSIX shell 取代了 Korn Shell 和 Bourne Shell。因此,/usr/bin/sh 将成为 POSIX Shell,并且 /usr/bin/ksh 将链接到 /usr/bin/sh。不过,/usr/old/bin/sh 还包含 Bourne Shell,以供那些仍需要它的用户使用。

下表所列的功能有助于用户选择要使用的 shell:

表 3-1 Shell 功能比较

功能

说明

POSIX Key

Bourne

C

命令记录

允许先将命令存储在缓冲区中,然后修改并重新使用。

行编辑

使用文本编辑器修改当前或以前命令行的能力。

键入文件名

自动完成在命令行键入文件名的能力。

alias 命令

可以重命名命令、自动包含命令选项或缩写长命令行。

受限的 shell

一种安全功能,可以提供附带有限能力的控制环境。

工作控制

跟踪和访问后台进程的工具。

 

确定登录 Shell

命令 echo $SHELL 回显用户登录时输入的 shell 文件名。

$ echo $SHELL
/usr/bin/sh

echo

命令可以显示 SHELL 变量的内容或值。SHELL 变量包含运行的 shell 程序的文件名。在本示例中,文件名为 /usr/bin/sh,该文件包含了 POSIX Shell 代码。

下表列出了每个 shell 的文件名和缺省的系统提示符。(每个 shell 的超级用户提示符为 #。)

表 3-2 Shell 文件名和缺省的提示符

Shell

文件名

提示符

POSIX

/usr/bin/sh

$

C

/usr/bin/csh

%

Bourne(已过时)

/usr/old/bin/sh

$

Korn(已由 POSIX shell 取代)

/usr/bin/ksh(链接到 /usr/bin/sh

$

 

暂时更改 Shell

除非处于受限的 shell 中,否则可以使用以下命令暂时更改 shell:

shell_name

其中,shell_name 是 shell 的名称(例如,shcsh)。暂时更改 shell 允许用户在其他 shell 中进行试验。通过键入要运行的 shell 名,可以调用(输入)该 shell,并显示正确的提示符。要返回原始的 shell,请键入 exitCTRL-D

以下示例从 POSIX Shell 中开始,然后进入 C Shell,并返回到 POSIX Shell:

csh(1)

csh                      进入 C Shell。
ps                执行 ps 命令。
   PID TTY      TIME COMMAND  
6009 tty01    0:00 csh      注意 C 和 POSIX Shell 进程均处在运行中
  5784 tty01    0:00 sh
6010 tty01    0:00 ps       
exit                         退出 C Shell。
$                   返回到 POSIX Shell。

永久更改 Shell

要永久更改登录 shell(登录时缺省的 shell),请使用以下 chsh (change shell) 命令:

chsh(1)

$ chsh username full_shell_name

其中,username 是用户名,full_shell_name 是要更改为缺省的 shell 完整路径名(例如,/usr/bin/sh)。“确定登录 Shell ” 包含每个 shell 的完整路径名。使用 chsh 命令后,请务必注销并再次登录,以使更改生效。例如,如果将 terry 缺省的登录 shell 更改为 C Shell,命令如下:

chsh terry /usr/bin/csh
打印版本
保密声明 使用本网站表示您同意其使用条件
© Hewlett-Packard Development Company, L.P.