請問,關于在腳本中使用$()來執行系統命令的問題
老師在寫腳本的時候,比如 read -p “輸入一個目錄 ”dir? ?,就不需要使用 $(),但是有的命令比如 ps aux | grep httpd | grep -v grep就需要使用$()把這條命令括起來,那么什么時候使用$(),什么時候不需要使用$()呢???百度也沒有查到答案,我現在有兩個猜測,1.shell內部命令,在寫腳本的時候不需要$()?2.read 這條命令默認已經傳值給了一個參數,所以當命令執行結果需要我們主動賦值給一個變量的時候,需要使用$() ???? ? ?我現在有點亂,誰能幫幫我,非常感謝?。。?/p>
2019-09-05
$(命令)是命令替換,var=$(命令),是吧命令的執行結果傳給變量,而不是把命令這個字串本身傳給變量
2019-08-25
個人認為:read命令后面的變量,屬于賦值,所以不需要$()。其它的調用變量的命令,需要$()。
2019-08-20
通常把命令執行的結果賦值給變量時,需要使用$()包起來,然后read命令比較特殊,我是這么理解的。
2019-08-20
個人贊同你的第2個猜測