手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

第 3 部分: 中级管理

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

交互性测试

有时 bash source 您的 ~/.bashrc,即使他不是真正的交互式 shell,比如当使用像 rshscp 这样的命令时。将这些牢记在心很重要,因为像前面我们用 fortune 命令所做的相同,打印出文本可能真的会打乱这些非交互式的 bash 会话。在从启动文档打印出文本之前,使用 PS1 变量来检测当前的 shell 是否是交互式 shell 是个好办法:

if [ -n "$PS1" ]; then

	fortune

fi

/etc/profile 和 /etc/skel

作为系统管理员,您掌管着 /etc/profile。因为当初次登录时,每个人都 source 他,所以使他保持工作状态很重要。他也是提供给新用户的强大工具,该工具使新用户一登录进他们的新帐户,一切就正确运行。

但是,有一些您可能希望新用户作为缺省值的配置,而且允许容易地修改他们。这是 /etc/skel 目录的用途所在。当您用 useradd 命令来创建一个新用户帐户时,他将任何的文档从 /etc/skel 复制到用户的新的主目录中。这意味着您能够将有帮助的 .bash_profile.bashrc 文档放在 /etc/skel 中,使新用户有一个好的开始。

export

能够给 bash 中的变量作上标记,使他们在任何 bash 启动的新的 shell 中配置相同;这被称为做上标记以便导出。在您的 shell 会话中,您能够列出 bash 任何的当前标记为要导出的变量:



$ export

declare -x EDITOR="vim"

declare -x HOME="/home/chouser"

declare -x MAIL="/var/spool/mail/chouser"

declare -x PAGER="/usr/bin/less"

declare -x PATH="/bin:/usr/bin:/usr/local/bin:/home/chouser/bin"

declare -x PWD="/home/chouser"

declare -x TERM="xterm"

declare -x USER="chouser"

标记要导出的变量 

假如变量没有标记为导出,任何他启动的新的 shell 将不会配置该变量。但是,您能够通过将变量传给内置的 export 来将其标记为导出:



$ FOO=foo

$ BAR=bar

$ export BAR

$ echo $FOO $BAR

foo bar

$ bash

$ echo $FOO $BAR

bar



在本示例中,一起配置了变量 FOOBAR,但是只有 BAR 被标记为导出。当启动了新的 bash,他丢掉 FOO 的值。假如您退出这个新的 bash,您能够看到最初的 bash 仍然有 FOOBAR 的值:



$ exit

$ echo $FOO $BAR

foo bar

导出和配置 -x

由于这种行为,能够在 ~/.bash_profile/etc/profile 中配置变量和标记为导出,然后再也无需重新配置。但是,有一些不能导出的选项,因此为了配置得一致,必须将他们放在您的 ~/.bashrc 环境配置文档中。这些选项用内置的 set 来调整:



$ set -x



-x 选项使 bash 打印出他要运行的每个命令:



$ echo $FOO

  echo foo

foo



这对于理解没有预料到的引用行为或类似的莫名其妙的现象很有用。要关闭 -x 选项,配置 set x。请参阅 bash 手册页来获取内置的 set 的任何选项的信息。

用“set”配置变量

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