bash環境變量的相關內容

bash環境配置:

配置文件,生效範圍劃分,存在兩類:

全局配置:

/etc/profile, /etc/profile.d/*.sh

/etc/bashrc

個人配置:

~/.bash_profile

~/.bashrc


按功能劃分,存在兩類:

profile類:爲交互式登錄的shell提供配置

/etc/profile, /etc/profile.d/*.sh

~/.bash_profile


功用:

(1) 定義環境變量,例如PATH、PS1

(2) 運行命令或腳本


bashrc類:爲非交互式登錄shell提供配置

/etc/bashrc

~/.bashrc


功用:

(1) 定義命令別名;

(2) 定義本地變量;


變量:內存空間,變量名

類型:

環境變量:作用範圍當前shell進程及其子進程

本地變量:作用範圍當前shell進程

局部變量:作用範圍僅爲當前shell進程中某代碼片斷(通常爲函數上下文)


位置變量:$1, $2

特殊變量:$?


變量定義方式:

bash內置變量:可直接調用,內置了許多環境變量,例如PATH等

自定義變量:

變量賦值:變量名=值


bash弱類型:

變量存儲數據時,默認均採用字符形式;任何變量可以不經聲明,直接引用;


120:24bits

120: 8bits 


定義本地變量:

name=value


查看:set


定義環境變量:

export name=value

declare -x name=value


查看:env, printenv, export


撤消變量:

unset name


引用變量:

${name}, $name


bash中的引用符號:

'': 強引用,變量替換不會發生

"":弱引用

``: 命令引用


shell登錄類型:

交互式登錄:

直接通過終端進行的登錄;

通過su -l Username命令實現的用戶切換;


非交互式登錄:

圖形界面下打開的命令行窗口;

執行腳本;

su Username;


配置文件作用次序:

交互式登錄:

/etc/profile --> /etc/profile.d/*.sh --> ~/.bash_profile --> ~/.bashrc --> /etc/bashrc


非交互式登錄:

~/.bashrc --> /etc/bashrc --> /etc/profile.d/*.sh


編輯配置文件定義的新配置如何生效?

(1) 重新登錄;

(2) 讓當前shell進程去重新讀取指定的配置文件;

source /PATH/TO/SOMEFILE

. /PATH/TO/SOMEFILE

注意:副作用


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章