1 前言
在 Linux 中想要與系統交互,比如執行 cd
命令就要通過 Shell ,而 bash 是 Shell 的一種。本篇文章簡單介紹 bash。
2 變量
2.1 查看變量
使用命令 echo $變量名
查看變量內容
2.2 變量的設定規則
使用
=
設置變量,比如:name=root
,注意等號兩邊沒有空格;變量可以使用英文字母和數字命名,但是不能以數字開頭;
使用
export 變量名
可以將變量設置成環境變量,例如:export name
;使用
unset 變量名
可以取消變量,例如:unset name
;""
可以保留特殊字符原有的特性,例如:
name=root;var="name is $name";echo $var
輸出的結果是 name is root;單引號
''
不會保留特殊字符的特性,上述例子中如果將""
換成''
爲name=root;var='name is $name';echo $var
輸出的結果是 name is $name;要將變量的內容設置爲某個命令的執行結果可以使用 ` ` (此符號是數字 1 左邊的符號)或者
$
,例如:name='uname'
,會將uname
的執行結果賦值給變量name
;
2.3 環境變量
使用
env
查看環境變量和說明使用
set
能夠查看所有變量使用
export
可以將自定義的變量轉成環境變量
3 BASH 環境配置文件
使用 export 設置的環境變量在用戶註銷登陸後就會失效,如果想要登陸之後就把環境變量設置好就需要環境的配置文件。在配置文件中將要使用的變量設置好。
3.1 non-login shell
non-login 的 bash 是非登陸情況下取得的 bash 接口。該 bash 配置文件僅會讀取 ~/.bashrc
3.2 login shell
login shell 是登陸情況下取得的 bash 接口。登陸之後 bash 會先讀取 /etc/profile
配置文件,此文件是整體環境的配置文件。接下來讀取個人偏好配置文件。個人偏好配置文件有三個:
~/.bash_profile
~/.bash_login
~/.profile
login shell 設定只會讀取上面三個文件的其中一個,讀取的順序就是上述順序。
3.3 source
由於 /etc/profile 和 ~/.bash_profile 都是在取得 login shell 的時候纔會讀取配置文件,所以, 如果你將自己的偏好設定寫入上述檔案後,通常都是得註銷再登入後,該設定纔會生效。如果想要不重新登錄就讓設定生效,可以使用命令 source 文檔名
或者 . 文檔名
。