14
在bash中,()
和$()
都創建了一個子shell。
彼此之間有什麼區別?他們典型的用途是什麼?
在bash中,()
和$()
都創建了一個子shell。
彼此之間有什麼區別?他們典型的用途是什麼?
()
只是創建一個複合命令,在括號內運行命令。 $()
也是如此,但也會替代輸出。
從文檔:
(list)
list
在一個子shell環境中執行......影響shell環境變量賦值和內置 命令不保持有效的命令完成後, 。退貨狀態爲 退出狀態list
。
命令替換
命令替換允許命令的輸出來替換命令名。有兩種形式:
$(command)
或
`command`
擊執行通過執行command
和與命令, 與刪除任何尾隨的換行符的標準輸出替換命令替換的擴展。
一個「aha」時刻! 「命令替換」是我們如何能夠將命令的輸出分配給變量,例如, 'RESULT = $(command)','$(command)'的輸出替換該命令,然後分配給'RESULT'。 –