[英]Multiple command output into variable Bash script with $()
我對此進行了回顧,但仍然遇到問題,這是我嘗試執行的命令。 沒有$()
命令可以毫無問題地將所需的輸出打印到控制台,我似乎無法將該值放入一個變量中以備后用。
MODEL3= $(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')
但
MODEL3= /usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}'
-將輸出到控制台。 非常感謝!
那是對的:
MODEL3=$(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')
但是你可以不用grep
編寫相同的代碼:
MODEL3=$(/usr/sbin/getSystemId | awk '/Product Name/{print $4}')
現在,您在MODEL3
變量中有了結果,可以將其進一步用作$MODEL3
:
echo "$MODEL3"
變量賦值在變量名稱,賦值運算符和值之間不能有空格。 您當前的行顯示:
MODEL3= $(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')
這實際上意味着“用一個空的環境變量運行以下表達式,其中設置了MODEL3但為空。”
您想要的是一個實際的任務:
MODEL3=$(/usr/sbin/getSystemId | grep "Product Name" | awk '{print $4}')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.