linux的轉義字符和系統變量

轉義字符

為了能夠更好地理解用戶的表達,Shell解釋器還提供了特別豐富的轉義字符來處理輸入的特殊數據

linux的轉義字符和系統變量

建立一個變量price=10

linux的轉義字符和系統變量

根據不同的情況去選擇不同的使用場景

環境變量

變量是計算機系統用於保存可變值的數據類型。在Linux系統中,變量名稱一般都是大寫的,這是一種約定俗成的規範。我們可以直接通過變量名稱來提取到對應的變量值。Linux系統中的環境變量是用來定義系統運行環境的一些參數,比如每個用戶不同的家目錄、郵件存放位置等。

那麼在用戶執行一條命令以後linux系統中到底發生了什麼事呢?

變量是計算機系統用於保存可變值的數據類型。在Linux系統中,變量名稱一般都是大寫的,這是一種約定俗成的規範。我們可以直接通過變量名稱來提取到對應的變量值。Linux系統中的環境變量是用來定義系統運行環境的一些參數,比如每個用戶不同的家目錄、郵件存放位置等。

第1步:判斷用戶是否以絕對路徑或相對路徑的方式輸入命令(如/bin/ls),如果是的話則直接執行。

第2步:Linux系統檢查用戶輸入的命令是否為"別名命令",即用一個自定義的命令名稱來替換原本的命令名稱。可以用alias命令來創建一個屬於自己的命令別名,格式為"alias 別名=命令"。若要取消一個命令別名,則是用unalias命令,格式為"unalias 別名"。我們之前在使用rm命令刪除文件時,Linux系統都會要求我們再確認是否執行刪除操作,其實這就是Linux系統為了防止用戶誤刪除文件而特意設置的rm別名命令,接下來我們把它取消掉:

linux的轉義字符和系統變量

第3步:Bash解釋器判斷用戶輸入的是內部命令還是外部命令。內部命令是解釋器內部的指令,會被直接執行;而用戶在絕大部分時間輸入的是外部命令,這些命令交由步驟4繼續處理。可以使用"type命令名稱"來判斷用戶輸入的命令是內部命令還是外部命令。

第4步:系統在多個路徑中查找用戶輸入的命令文件,而定義這些路徑的變量叫作PATH,可以簡單地把它理解成是"解釋器的小助手",作用是告訴Bash解釋器待執行的命令可能存放的位置,然後Bash解釋器就會乖乖地在這些位置中逐個查找。PATH是由多個路徑值組成的變量,每個路徑值之間用冒號間隔,對這些路徑的增加和刪除操作將影響到Bash解釋器對Linux命令的查找。

例子:我們都知道/etc/passwd下的是系統中的用戶 那麼我們做一個變量和這個相關聯

linux的轉義字符和系統變量

linux的轉義字符和系統變量

此命令的意義為: 定義變量test_user 執行的命令為將/etc/passwd這個文件中第一列的所有數據取出,也就是將所有用戶取出

通過alias可以看到系統中所有已經定義好的別名文件

linux的轉義字符和系統變量

查看常用的變量

linux的轉義字符和系統變量

Bash對外引出的是$path 這個變量對應的目錄中的變量,也就是說我們檢查bash中是否存在相關變量 沒有的話去找$path這個對應的目錄中的

linux的轉義字符和系統變量

常用變量

linux的轉義字符和系統變量


分享到:


相關文章: