簡體   English   中英

使用$()將多個命令輸出到變量Bash腳本中

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM