手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>C/C++>列表

Linux教程(23)-别名

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!





\u



显示当前用户的用户名





\W



显示当前工作目录基准名





\w



显示当前工作目录





这些特别字符能够组合起来,为用户提供一些提示符,提供很有用的信息。下面来看几个实际例子:

PS1=”\t”

将使提示符变成如下所示:

02:16:15

而 PS1=\t

将使提示符变成如下所示:

t

若PS1=”\t\\”

将使提示符变成如下所示:

02:16:30\

该例就是使用两个特别字符的组合得到的。

控制shell的运行方式

Bash有一些特别变量,能控制shell以不同的方式工作。例如,变量noclobber能防止在重定向输出时意外地覆盖一个文档。通过set命令能够配置noclobber变量的有效或无效。set命令有两个参数:一个是指定变量开(on)或关(off)的选项,一个是特别变量的变量名。要使某一特别变量开(有效),用-o选项,要使其关(无效),用 o选项。例如:

$ set –o noclobber // 使noclobber变量开

$ set o noclobber // 使noclobber变量关

三个最常用的shell特别变量有:ignoreeof、noclobber及noglob。

ignoreeof

ignoreeof变量用来禁止使用ctrl d来退出shell(ctrl d不但用来退出shell,而且能够终止用户直接输往标准输出上的输入。该操作经常在一些shell实用命令中使用,例如实用命令cat。在这些实用程式操作中,很容易误操作而意外地退出shell。ignoreeof特别变量正是用来防止这种意外的退出。例如:

$ set –o ignoreeof

之后,用户只能用logout或exit命令退出shell。

noclobber

noclobber变量能够在重定向输出时保护已存在的文档,防止被意外地覆盖。在下例中,用户配置noclobber为有效,在重定向时,用户试图去覆盖已存在的文档myfile,此时系统将返回一个错误信息。

[例]

$ set –o noclobber

$ cat preface>myfile

bash: myfile: cannot overwrite existing file

$

noglob

配置noglob变量后,shell将不扩展文档名中一些特别的字符或字符串。如字符*、?、[ ]等将不再作为通配符。假如用户希望列出结尾为?的文档名answer?,可通过如下步骤:首先,用户使noglob变量为无效,然后再列出文档名。能够看到,现在命令行上的问号?被认为是文档名中的一个字符,而不再被看作通配符。

$ set –o noglob

$ ls answer?

answer?

子shell和export命令

用户登录到Linux系统后,系统将启动一个用户shell。在这个shell中,能够使用shell命令或声明变量,也能够创建并运行shell脚本程式。运行shell脚本程式时,系统将创建一个子shell。此时,系统中将有两个shell,一个是登录时系统启动的shell,另一个是系统为运行脚本程式创建的shell。当一个脚本程式运行完毕,他的脚本shell将终止,能够返回到执行该脚本之前的shell。从这种意义上来说,用户能够有许多shell,每个shell都是由某个shell(称为父shell)派生的。

在子shell中定义的变量只在该子shell内有效。假如在一个shell脚本程式中定义了一个变量,当该脚本程式运行时,这个定义的变量只是该脚本程式内的一个局部变量,其他的shell不能引用他,要使某个变量的值能够在其他shell中被改变,能够使用export命令对已定义的变量进行输出。export命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。

[例]在本例中,变量myfile是在dispfile脚本程式中定义的。然后用export命令将变量myfile输出至任何子shell,例如当执行printfile脚本程式时产生的子shell。

dispfile脚本程式清单:

/**************begin dispfile**************/

myfile=”List”

export myfile

echo “Displaying $myfile”

pr –t –n $myfile

printfile

/**************end dispfile***************/ 

printfile脚本程式清单:

/**************begin printfile**************/

echo “Printing $myfile”

lpr $myfile&

/**************end printfile**************/

$dispfile

Displaying List

1 screen

2 modem

3 paper

Printing List

$

定制Bash

在本节中已介绍了很多定制Bash的方法,但是迄今为止,这些方法都只是对当前Bash对话有用。只要用户退出登录,所做的一切改变都会丢失。所以应该在Bash的初始化文档中做永久性的修改。

用户能够将每次启动Bash所需要执行的命令放入初始化文档中,最常见的命令就是alias命令和变量定义两种。系统中的每个用户在其主目录中都有一个.bash_profile文档,Bash每次启动时都将读取该文档,其中包含的任何命令都将被执行。

下面便是默认.bash_profile文档的代码:

#.bash_profile

#Get the aliases and functions

if [-f ~/.bashrc ];then

.~/.bashrc

fi

#User specific environment and startup programs

PATH=$PATH:$HOME/bin

ENV=$HOME/.bashrc

USERNAME=””

Export USERNAME ENV PATH



文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS