Shell 是一個(gè)用 C 語(yǔ)言編寫的程序,它是用戶使用 Linux 的橋梁。Shell 既是一種命令語(yǔ)言,又是一種程序設(shè)計(jì)語(yǔ)言。
以下是幾種shell版本,bash是默認(rèn)的:
sh(全稱 Bourne Shell): 是UNIX最初使用的 shell,而且在每種 UNIX 上都可以使用。
Bourne Shell 在 shell 編程方面相當(dāng)優(yōu)秀,但在處理與用戶的交互方面做得不如其他幾種 shell。
bash(全稱 Bourne Again Shell): LinuxOS 默認(rèn)的,它是 Bourne Shell 的擴(kuò)展。
與 Bourne Shell 完全兼容,并且在 Bourne Shell 的基礎(chǔ)上增加了很多特性。可以提供命令補(bǔ)全,命令編輯和命令歷史等功能。它還包含了很多 C Shell 和 Korn Shell 中的優(yōu)點(diǎn),有靈活和強(qiáng)大的編輯接口,同時(shí)又很友好的用戶界面。
csh(全稱 C Shell): 是一種比 Bourne Shell更適合的變種 Shell,它的語(yǔ)法與 C 語(yǔ)言很相似。
Tcsh: 是 Linux 提供的 C Shell 的一個(gè)擴(kuò)展版本。
Tcsh 包括命令行編輯,可編程單詞補(bǔ)全,拼寫校正,歷史命令替換,作業(yè)控制和類似 C 語(yǔ)言的語(yǔ)法,他不僅和 Bash Shell 提示符兼容,而且還提供比 Bash Shell 更多的提示符參數(shù)。
ksh (全稱 Korn Shell): 集合了 C Shell 和 Bourne Shell 的優(yōu)點(diǎn)并且和 Bourne Shell 完全兼容。
pdksh: 是 Linux 系統(tǒng)提供的 ksh 的擴(kuò)展。
pdksh 支持人物控制,可以在命令行上掛起,后臺(tái)執(zhí)行,喚醒或終止程序。
下面看下Linux中Bash環(huán)境變量的配置
在Linux中,我們一般將環(huán)境變量信息配置到不同的文件中,常用的配置文件有
- /etc/profile
- /etc/bashrc
- ~/.bash_profile
- ~/.bashrc
- ~/.bash _logout
上面幾個(gè)配置主要是在交互式登錄Shell和交互式非登錄Shell有區(qū)別,會(huì)加載不同的配置。
交互式登錄Shell
就是登錄Linux系統(tǒng),你輸入用戶名和密碼后執(zhí)行的,或su -l.
用戶名方式
非登錄Shell
就是你進(jìn)入系統(tǒng)后,開一個(gè)終端Bash執(zhí)行的。
/etc/profile
一般為系統(tǒng)配置,為系統(tǒng)的每個(gè)用戶設(shè)置環(huán)境信息, 當(dāng)用戶第一次登錄時(shí),該文件被執(zhí)行, 并從/etc/profile.d
目錄的配置文件中搜集shell的設(shè)置.
對(duì) /etc/profile
的修改必須得重啟才會(huì)生效,而且每個(gè)用戶都是有效的。
/etc/profile.d/
可以理解為/etc/profile
的一部分,只不過(guò)可以根椐類別或功能將配置拆分成若干個(gè)文件,這樣更清晰也便于維護(hù)。
/etc/bashrc
為每個(gè)運(yùn)行 Bash Shell 的用戶執(zhí)行該文件,當(dāng)Bash Shell打開時(shí),該文件被執(zhí)行,其配置對(duì)所有使用bash的用戶打開的每個(gè)Bash都有效。當(dāng)被修改后,不用重啟只需要打開一個(gè)新的 Bash 即可生效。
~/.bash_profile
文件在用戶目錄下,為當(dāng)前用戶設(shè)置專屬的環(huán)境信息和啟動(dòng)程序,當(dāng)用戶登錄時(shí)該文件執(zhí)行一次,并執(zhí)行當(dāng)前用戶的 .bashrc
文件。如果有修改,也需要重啟才能生效。
~/.bashrc
為當(dāng)前用戶設(shè)置專屬的 Bash 信息,當(dāng)每次打開新的Shell時(shí),該文件被執(zhí)行。如有修改,不需要重啟只需要開一個(gè)新的Shell終端就行了。
~/.bash_logout
當(dāng)前用戶每次退出Bash Shell時(shí)執(zhí)行該文件。
以上需要重啟才能生效的文件,是通過(guò)類似 source ~/.bash_profile
這樣的方式暫時(shí)生效的,并不是真的重啟電腦。
總結(jié)
到此這篇關(guān)于Linux中Bash環(huán)境變量的配置方法的文章就介紹到這了,更多相關(guān)linux 環(huán)境變量配置內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!