分享
 
 
 

bash设置

王朝厨房·作者佚名  2007-01-05
窄屏简体版  字體: |||超大  

bash(1)

要使bash 符合个人的口味,有几个文档需要修改:

/etc/bashrc 存有整个系统的别名和功能;

/etc/profile 存有整个系统的环境参数和启动程式;

$HOME/.bashrc 存有用户的的别名和功能;

$HOME/.bash_profile 存有用户的环境参数和启动程式;

$HOME/.bash_logout 存有退出系统时的结束方式;

$HOME/.inputrc 存有主要绑定数值和其他位元数值;

下文将例举对这些文档的修改。首先,最重要的文档是:/etc/profile。如以下几节中可以看到,一向以修改这个文档的方式来设定Linux的各种功能。

--------------------------------------------------------------------------------

# /etc/profile

# System wide environment and startup programs

# --整个系统环境和启动程式

#

# Functions and aliases go in /etc/bashrc

# --/etc/bashhrc中的功能和别名

#

# This file sets the following features:

# --这个文档设定下列功能:

#

# o path --路径

# o prompts --提示符

# o a few environment variables --几个环境变数

# o colour ls --ls 的颜色

# o less behaviour --设定less的功能

# o keyboard settings --键盘设置

#

# Users can override these settings and/or add others in their

# $HOME/.bash_profile

# 用户可在$HOME/.bash_profile中取消这些设定和(或)增加其他设定

# set a decent path

# 设定可行的路径

echo $PATH | grep X11R6 > /dev/null

if [ $? = 1 ] ; then # add entries to the path

PATH="$PATH:/usr/X11R6/bin:$HOME/bin:."

fi

# notify the user: login or non-login shell. If login, the prompt is

# coloured in blue; otherwise in magenta. Root's prompt is red.

# 通知用户:登录(login)或不登录(non-login)的外围程序(shell)。

# 如果登录,则提示符为蓝色,否则为紫红色。Root的提示符为红色。

USER=`whoami`

if [ $LOGNAME = $USER ] ; then

COLOUR=44

else

COLOUR=45

fi

if [ $USER = 'root' ] ; then

COLOUR=41

fi

# put a real escape character instead of ^[

# 用真正的换码字符代替^[

PS1='^[[$COLOUR;37;1m$HOSTNAME:^[[37;40;1mw$ '

PS2="Continue> "

# no core dumps, please

# 请勿转储内存信息

ulimit -c 0

# set umask

# 设定umask

if [ `id -gn` = `id -un` -a `id -u` -gt 14 ]; then

umask 002

else

umask 022

fi

# a few variables

# 几项变数

USER=`id -un`

LOGNAME=$USER

MAIL="/var/spool/mail/$USER"

EDITOR=jed

HOSTNAME=`/bin/hostname`

HISTSIZE=1000

HISTFILESIZE=1000

export PATH PS1 PS2 USER LOGNAME MAIL EDITOR HOSTNAME HISTSIZE HISTFILESIZE

# enable colour ls

# 设定ls的颜色

eval `dircolors /etc/DIR_COLORS -b`

export LS_OPTIONS='-F -s -T 0 --color=tty'

# customize less

# 设定less

LESS='-M-Q'

LESSEDIT="%E ?lt+%lt. %f"

LESSOPEN="| lesspipe.sh %s"

VISUAL=jed

LESSCHARSET=latin1

export LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET

# customise the keyboard

# 设定键盘

/sbin/kbdrate -s -r 16 -d 500

for i in /etc/profile.d/*.sh ; do

if [ -x $i ]; then

. $i

fi

done

--------------------------------------------------------------------------------

此处为 /etc/bashrc:

--------------------------------------------------------------------------------

# /etc/bashrc

# System wide functions and aliases

# 整个系统的功能和别名

#

# Environment stuff goes in /etc/profile

# /etc/profile中的环境参数

#

alias which="type -path"

alias d="ls"

alias dir="d"

--------------------------------------------------------------------------------

此处为 .bashrc:

--------------------------------------------------------------------------------

# $HOME/.bashrc

# Source global definitions

if [ -f /etc/bashrc ]; then

. /etc/bashrc

fi

# this is needed to notify the user that they are in non-login shell

# 需要以下设定,以便通知处於不登录(non-login)外围程序(shell)中的用户

COLOUR=45

# put a real escape character instead of ^[

# 用真正的换码字符代替^[

PS1='^[[$COLOUR;37m$USER:^[[37;40mw$ '

# aliases

# 别名

alias cp='cp -i'

alias l=less

alias lyx='lyx -width 900 -height 700'

alias mv='mv -i'

alias rm='rm -i'

alias x=startx

# A few useful functions

# 几个有用的功能

inst() # Install a .tar.gz archive in the current directory.

{ gzip -dc $1 | tar xvf - }

cz() # List the contents of a .zip archive.

{ unzip -l $* }

ctgz() # List the contents of a .tar.gz archive.

{

for file in $* ; do

gzip -dc ${file} | tar tf -

done

}

tgz() # Create a .tgz archive a la zip.

{

name=$1 ; tar -cvf $1 ; shift

tar -rf ${name} $*

gzip -S .tgz ${name}

}

--------------------------------------------------------------------------------

此处为.bash_profile:

--------------------------------------------------------------------------------

# $HOME/.bash_profile

# User specific environment and startup programs

# 用户特定的环境参数和启动程式

#

# This file contains user-defined settings that override

# those in /etc/profile

# 这个文档中存有用户自订的设置,可取代/etc/profile 中的数值

#

# Get aliases and functions

# 设定别名和功能

#

if [ -f ~/.bashrc ]; then

. ~/.bashrc

fi

# re-get PS1 settings

# 重新设定PS1数值

if [ $USER = 'root' ] ; then

COLOUR=41

else

COLOUR=44

fi

# put a real escape character instead of ^[

# 用真正的换码字符代替^[

PS1='^[[$COLOUR;37;1m$HOSTNAME:^[[37;40;1mw$ '

export PS1

--------------------------------------------------------------------------------

此处为 .bash_logout:

--------------------------------------------------------------------------------

# $HOME/.bash_logout

clear

--------------------------------------------------------------------------------

此处为 .inputrc:

--------------------------------------------------------------------------------

# $HOME/.inputrc

# key bindings

# 主要绑定

"e[1~": beginning-of-line

"e[3~": delete-char

"e[4~": end-of-line

# (F1 .. F5) are "e[[A" ... "e[[E"

# (F1 .. F5) 分别为 "e[[A" ... "e[[E"

"e[[A": "info C-m"

set bell-style visible # please don't beep

# --喇叭不发声

set meta-flag On # allow 8-bit input (i.e, accented letters)

# --允许8-位元输入(例如重音字符)译注:用于欧洲

# 文字或GB码及Big5码)

set convert-meta Off # don't strip 8-bit characters

# 不取消8-位元字符

set output-meta On # display 8-bit characters correctly

# 正确显示8-位元字符

set horizontal-scroll-mode On

set show-all-if-ambiguous On

--------------------------------------------------------------------------------

设定下列参数使 backspace 和 delete 两键在xterm 和其他X11应用中运作正常:

在.xinitrc中添加:

usermodmap=$HOME/.Xmodmap

xmodmap $usermodmap

在.Xmodmap中添加:

keycode 22 = BackSpace

keycode 107 = Delete

以上就设定了主控台的参数。 要修改xterm,则更改如下:

在.Xdefaults中增添:

xterm*VT100.Translations: #override BackSpace: string(0x7F)

Delete: string(0x1b) string("[3~")

Home: string(0x1b) string("[1~")

End: string(0x1b) string("[4~")

CtrlPrior: string(0x1b) string("[40~")

CtrlNext: string(0x1b) string("[41~")

nxterm*VT100.Translations: #override BackSpace: string(0x7F)

Delete: string(0x1b) string("[3~")

Home: string(0x1b) string("[1~")

End: string(0x1b) string("[4~")

CtrlPrior: string(0x1b) string("[40~")

CtrlNext: string(0x1b) string("[41~")

在bash(1) 和 readline(3) 的man说明中有更多这方面的资料。

不要以为这些设定在每种应用中都可正常运作。例如,在xterm中运行joe,有些键位就不起作用;运行rxvt也有相同的问题。有人说,这是termcap的问题。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有