這一系列的Linux入門都是本人在《鳥哥的Linux私房菜》的基礎上總結的基本內容,主要是記錄下自己的學習過程,也方便大家簡要的瞭解 Linux Distribution是Ubuntu而不是書本上推薦的CentOS,建議裝雙系統,不要使用虛擬機。 代碼在github上:Linuxpractice 其 ...
這一系列的Linux入門都是本人在《鳥哥的Linux私房菜》的基礎上總結的基本內容,主要是記錄下自己的學習過程,也方便大家簡要的瞭解
Linux Distribution是Ubuntu而不是書本上推薦的CentOS,建議裝雙系統,不要使用虛擬機。
代碼在github上:Linuxpractice
其他內容:
Linux入門篇(一)——基本命令
Linux入門篇(二)——文件
Linux入門篇(三)——文件與目錄
Linux入門篇(四)——Vim的使用與Bash
Shell
一、shell的變數功能
- 變數的顯示 $ echo
- 變數的修改 $ 變數名=變數值
- 環境變數功能: $ env 可以列舉出當前shell環境下所有的環境變數。
環境變數的舉例:
- HOME:代表主文件夾
- SHELL:目前環境代表的shell程式
- HISTSIZE:可紀錄的歷史命令的條數
- MAIL:讀取的郵件文件
- PATH:執行文件查詢路徑
- LANG:語繫數據
- RANDOM:隨機數變數
變數的有效範圍:一般情況下,父進程的自定義變數無法在子進程內使用,除非通過export將其變為環境變數,否則就是自定義變數。(與記憶體分配的記憶塊有關)
- read 讀取來自鍵盤輸入的變數: $ read [-pt] variable
- declare和typeset是一樣的功能用來聲明:$ declare [-aixr] variable
-a: variable為數組類型
-i: variable為integer類型
-x:用法與export一致
-r:變數設置為readonly,只讀類型,不可以修改
數組變數類型:array
- 設置方法: $ var [index]=context bash的數組下標是從0開始的。
數組名 下標 變數值
- 讀取方式: $ echo ${var[1]}
變數內容的刪除、替換:
- 變數設置方法 說明
${變數#關鍵字} 若變數內容從頭開始數據符合”關鍵字“,則將符合的最短數據刪除。
${變數##關鍵字} 若變數內容從頭開始數據符合”關鍵字“,則將符合的最長數據刪除。
${變數%關鍵字} 若變數內容從尾開始數據符合”關鍵字“,則將符合的最短數據刪除。
${變數%%關鍵字} 若變數內容從尾開始數據符合”關鍵字“,則將符合的最長數據刪除。
${變數/舊字元串/新字元串} 替換第一個符合的字元串。
${變數//舊字元串/新字元串} 替換全部符合的字元串。
- 變數的測試與內容的替換
new_var=${old_var-content}
新變數 關鍵字 舊變數 變數內容
三、Bash Shell操作環境
一個命令被執行時,命令執行的順序是:
- 以相對/絕對路徑執行命令。
- 由alias找到該命令並執行。
- 由bash內置的(builtin)命令執行。
- 通過$PATH變數的順序找到第一個來執行。