我看很多兄弟寫腳本或命令時出現錯誤的主要原因,是因為不了解bash的命令行處理。我在這裡總結了一下,大家可以參考一下。其中也涉及到雙引號,單引號以及eval的技巧,我會一一講述。
代碼:
+-------------+ 單引號 |-----------------------| |--------------------------| | ---------------------| 1.分隔成記號|---- ---------------| | | | -----------------| | 雙引號 | | | | | +-------------+ | | | | | || | | | | |讀取下一個命令 \/ | | | | | +-------------------------------------------+ | | | | | | 2. | | | | | ------| 檢驗第一個記號 | | | | | |開放的關鍵字 其他關鍵字 | | | | | | 非關鍵字 | | | | | +-------------------------------------------+ | | | | || | | | | \/ | | | | +-----------------------------+ | | | | 擴展別名 | 3. 檢驗第一個記號 | | | | |------------| 別名 | | | | | 不是別名 | | | | +-----------------------------+ | | | || | | | \/ | | | +--------------+ | | | | 4.大括號擴展 | | | | +--------------+ | | 歡迎光臨學網,收藏本篇文章 [1] [2] [3] [4] [5]$False$
| || | | | \/ | | | +--------------+ | | | | 5.~符號擴展 | | | | +--------------+ | | | || | | | \/ | | | +--------------+ 雙引號 | | | | 6.參數擴展 |<-----------------| | | +--------------+ | | || | | \/ | | +------------------------------+ | | | 7.命令替換(嵌套命令行處理) | | | +------------------------------+ | | || | | \/ | | +--------------+ 雙引號 | | | 8.算術擴展 |------------------| | | +--------------+ | | | || | | | \/ | | | +--------------+ | | |
您正在看的MySQL教程是:Bash命令行處理[詳解]。 | 9.單詞分割 | | | | +--------------+ | | | || | | | \/ | | | +--------------+ | | | | 10.路徑名擴展| | | | 文章整理:學網 http://www.xue5.com (本站) [1] [2] [3] [4] [5]
+--------------+ | | | || | | | \/ | | | +----------------------------------------+ | | | | 11.命令查尋:函數,內置命令,可執行文件|<---|-----| | +----------------------------------------+ | || | \/ |將參數帶入下一個命令 +-------------+ |----------eval--------------| 12.運行命令 | +-------------+