以下已经描述了许多用户化配置bash的方法。但知道现在为止,我们所做的改动都仅在当前运行的bash下才有效。一旦退出系统,所有的改动也随之消失了。为了保存这些用户化配置,你必须把它们保存到一个bash的初始化文件里。
你能把任何想每次进入cash都执行的命令放到初始化文件里。这个文件里最常见到的命令通常是alias和变量的初始化。bash的初始化文件叫做
profile。每个使用bash的用户都有一个
.profile文件在他的用户目录里。bash在每次启动时都读取这个文件,并执行所有包含的命令。
下面的代码是缺省的.profile文件的内容。这个文件的位置在
/etc目录。如果你想设置自己的bash
的话把它拷到你的用户目录里(如果还没有的话)并命名为.profile。
注意:
有些setup程序会在建立用户时自动放一个.profile文件的拷贝在你的用户目录里。但是并不是所有的都这么做,所以最好先检查一下你的用户目录。记住所有以句点开头的文件都是隐含的,只有用ls
-a或ls -A命令才能列出。
#
commands common to all logins
export
OPENWINHOME=/usr/openwin
export
MINICOM="-c on"
export
MANPATH=/usr/local/man:/usr/man/preformat:/usr/man:/X11/man:/usr/openwin
/m
an
export
HOSTNAME="`cat /etc/HOSTNAME`"
PATH="$PATH:/usr/X11/bin:$OPENWINHOME/bin:/usr/games:."
LESS=-MM
# I had
problems using 'eval test' instead of 'TERM=', but you might want
to # try
it anyway. I think with the right
/etc/termcap it would work
great. # eval 'tset
-sQ "$TERM"'if [ "$TERM" = "" -o "$TERM"
=
"unknown"]; then
TERM=linux
#PS1=''hostname':'pwd'# `
if [
"$SHELL" = "/bin/pdksh" -o "$SHELL" = "/bin/ksh" ];
then
PS1="!
$"
elif [
"$SHELL" = "/bin/zsh" ]; then
PS1="%m:%~%# "
elif [
"$SHELL" = "/bin/ash" ]; then
PS1="$
"
else
PS1='\h:\w\$ `
fi
PS2='>
`
ignoreeof=10
export
PATH DISPLAY LESS TERM PS1 PS2 ignoreeof
umask
022
# set up
the color-ls environment variables:
if [
"$SHELL" = "/bin/zsh" l; then
eval 'dircolors
-z'
elif [
"$SHELL" = "/bin/ash" l; then
eval 'dircolors
-s'
else
eval 'dircolors
-b'
fi
echo
fortune
echo
export
TAPE="/dev/nftape"
bash 命令概要
这是几个最有用的bash内部命令:
alias: 设置bash别名。
bg: 使一个被挂起的进程在后台继续执行。
cd: 改变当前工作目录。
exit: 终止shell。
export:
使变量的值对当前shell的所有子进程都可见 。
fc: 用来编辑历史命令列表里的命令。
fg: 使一个被挂起的进程在前台继续执行。
help: 显示bash内部命令的帮助信息。
kill: 终止某个进程。
pwd: 显示当前工作目录。
unalias:
删除已定义的别名。
bash
还有许多命令,但这些是最常用的,想了解更详细的情况,请参考bash的手册--在提示符下键入
man bash 。
bash变量
这里是几个最有用的bash变量,包括变量名和简单描述。
EDITOR, FCEDIT: bsah fc
命令的缺省编辑器。
HISTFILE:
用于贮存历史命令的文件。
HISTSIZE:
历史命令列表的大小。
HOME: 当前用户的用户目录。
OLDPWD: 前一个工作目录。
PATH:
bash寻找可执行文件的搜索路径。
PS1: 命令行的一级提示符。
PS2: 命令行的二级提示符。
PWD: 当前工作目录。
SECONDS:
当前shell开始后所流逝的秒数。