前一段時間學習了一下Linux的變量,現在總結有3點需要特別注意:
- Linux變量和C/C++變量的區別
- Linux變量的引用
- Linux變量特有的命令替換
在這裡說一下關於命令替換的一些深入解析(個人見解):
- 命令替換和管道的關系:
- 對於管道來說,它是兩個命令(進程)間的關系,而且必須符合3個條件:
- 前一個命令必須正確執行;
- 前一個命令可以產生standard out的信息;
- 後一個命令可以接收信息參數。
然後才能完成前一個命令的結果傳遞給下一個命令的行為,而且只能是兩個命令之間的行為。
- 對於命令替換來說,它沒有這些條件的約束,只要命令執行,不管結果如何,都會將運行的結果取出賦值給別的變量或是另作他用。
- 命令替換和alias的關系:
- 對於alias來說,它可以作為一個命令的別名,其實就是另外一個名字而已,類似於typedef,它代表的是命令本身而不是它執行的結果;
- 對於命令替換來說,它得到的是命令執行的結果而不是命令本身。