天天看點

如何将 Linux 指令的輸出指派給變量

運作一條指令時,它都會産生某種輸出:要麼是該指令的期望結果,或者是該指令執行細節的狀态/錯誤消息。有些時候,你可能想要将某個指令的輸出内容存儲在一個變量中,以待在後續操作中取出來使用。

本文将介紹将 shell 指令指派給變量的不同方法,這對于 shell 腳本程式設計是特别有用的。

可以使用如下形式的 shell 指令置換特性,将指令的輸出存儲到變量中:

<code>變量名=$(指令)</code>

<code>變量名=$(指令 [指令選項 ...] 參數1 參數2 ...)</code>

<code>或者:</code>

<code>變量名=`指令`</code>

<code>變量名=`指令 [指令選項 ...] 參數1 參數2 ...`</code>

以下是使用指令置換特性的示例:

本例,我們将 <code>who</code> (顯示目前登入系統的使用者) 的輸出值存儲到 <code>current_users</code> 變量中:

<code>$ current_users=$(who)</code>

<code>$ echo -e "以下為登入到系統中的使用者:\n\n $current_users"</code>

<code>$ echo -e "以下為登入到系統中的使用者:\n\n $(who)"</code>

如何将 Linux 指令的輸出指派給變量

在 linux 中顯示目前登入系統的使用者

接下來,為了示範上面提到的第二種形式,我們以把目前工作目錄下檔案數存儲到變量 <code>files</code> ,然後使用 echo 來輸出,如下:

<code>$ files=`sudo find . -type f -print | wc -l`</code>

<code>$ echo "目前目錄有 $files 個檔案。"</code>

如何将 Linux 指令的輸出指派給變量

顯示目中包含檔案的數量

原文釋出時間為:2017-01-22

本文來自雲栖社群合作夥伴“linux中國”

繼續閱讀