bash環境配置:
配置文件,生效範圍劃分,存在兩類:
全局配置:
/etc/profile, /etc/profile.d/*.sh
/etc/bashrc
我的配置:
~/.bash_profile
~/.bashrcshell
按功能劃分,存在兩類:
profile類:爲交互式登陸的shell提供配置
/etc/profile, /etc/profile.d/*.sh
~/.bash_profilebash
功用:
(1) 定義環境變量,例如PATH、PS1
(2) 運行命令或腳本ide
bashrc類:爲非交互式登陸shell提供配置
/etc/bashrc
~/.bashrc函數
功用:
(1) 定義命令別名;
(2) 定義本地變量;命令行
變量:內存空間,變量名
類型:
環境變量:做用範圍當前shell進程及其子進程
本地變量:做用範圍當前shell進程
局部變量:做用範圍僅爲當前shell進程中某代碼片段(一般爲函數上下文)進程
位置變量:$1, $2
特殊變量:$?內存
變量定義方式:
bash內置變量:可直接調用,內置了許多環境變量,例如PATH等
自定義變量:
變量賦值:變量名=值it
bash弱類型:
變量存儲數據時,默認均採用字符形式;任何變量能夠不經聲明,直接引用;class
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