Shells
Shell提供了一個(gè)和操作系統(tǒng)交互的命令行接口。shell的主要功能就是從輸入取得命令然后去執(zhí)行。FreeBSD內(nèi)含了一些shell,包括:Bourne shell(sh)、 extended C shell(tcsh)。 其他shell也可在FreeBSD的Ports得到,例如:zsh和bash。
Shell的特點(diǎn):
- 文件名補(bǔ)全
- 使用環(huán)境變量
Common Environment Variables
Variable Description
USER Current logged in user's name.
PATH Colon-separated list of directories to search for binaries.
DISPLAY Network name of the Xorg display to connect to, if available.
SHELL The current shell.
TERM The name of the user's type of terminal. Used to determine the capabilities of the terminal.
TERMCAP Database entry of the terminal escape codes to perform various terminal functions.
OSTYPE Type of operating system.
MACHTYPE The system's CPU architecture.
EDITOR The user's preferred text editor.
PAGER The user's preferred utility for viewing text one page at a time.
MANPATH Colon-separated list of directories to search for manual pages.
怎樣設(shè)置環(huán)境變量:不同的shell有不同的方法。
- 在tcsh和csh這樣的C-Style shell,使用
setenv
設(shè)置環(huán)境變量 - 在sh和bash這樣的Bourne shell,使用,
export
設(shè)置環(huán)境變量
例如:設(shè)置或改變EDITOR環(huán)境變量,將EDITOR設(shè)為/usr/local/bin/vim.
在csh或tcsh下
setenv EDITOR /usr/local/bin/vim
在sh或bash下
export EDITOR="/usr/local/bin/vim"
命令行中在環(huán)境變量前加一個(gè)$字符,可以取得環(huán)境變量查看當(dāng)前設(shè)置。
shell里有許多特別的字符代表著特別的內(nèi)容,我們把叫做meta-characters。最常用的就是*
字符,它可代表文件名的任何字符。為了防止shell去分析這些特別字符, 我們可在它之前加一個(gè)\
字符去說(shuō)明它只是普通字符。
改變Shell
改變Shell的最簡(jiǎn)單方法是使用 chsh 命令。
- 執(zhí)行 chsh 將根據(jù)EDITOR 環(huán)境變量進(jìn)入到那個(gè)編輯器,假如沒(méi)有設(shè)定,就會(huì)進(jìn)入vi編輯器。 請(qǐng)改變“Shell:”這行對(duì)應(yīng)值。
- 可使用chsh 的-s選項(xiàng), 這樣就能設(shè)置您的shell卻又不用編輯器。假如想把shell改為bash:
chsh -s /usr/local/bin/bash
注意:新的shell必須在
/etc/shells
文件里列出。 如果從ports里安裝一個(gè)shell,應(yīng)該默認(rèn)自動(dòng)添加到這個(gè)文件了。如果沒(méi)有添加,用下面的命令添加:echo "/usr/local/bin/bash" >> /etc/shells
,然后從新運(yùn)行chsh
.
Shell高級(jí)技巧
Advanced Shell Techniques
- 重定向:
>
<
- 管道:
|