閱讀552 返回首頁    go 技術社區[雲棲]


如何將 Linux 命令的輸出賦值給變量

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

本文將介紹將 shell 命令賦值給變量的不同方法,這對於 shell 腳本編程是特別有用的。

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


  1. 變量名=$(命令)
  2. 變量名=$(命令 [命令選項 ...] 參數1 參數2 ...)
  3. 或者:
  4. 變量名=`命令`
  5. 變量名=`命令 [命令選項 ...] 參數1 參數2 ...`

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

本例,我們將 who (顯示當前登錄係統的用戶) 的輸出值存儲到 CURRENT_USERS 變量中:


  1. $ CURRENT_USERS=$(who)

然後,我們可以使用 echo 命令 顯示一個句子並使用上述變量,如下:


  1. $ echo -e "以下為登錄到係統中的用戶:\n\n $CURRENT_USERS"

上麵的命令中:-e 標記表示解釋所有的轉義序列 (如 \n 為換行)。為節約時間和內存,通常在 echo 命令 中直接使用命令置換特性,如下:


  1. $ echo -e "以下為登錄到係統中的用戶:\n\n $(who)"

在 Linux 中顯示當前登錄係統的用戶

在 Linux 中顯示當前登錄係統的用戶

接下來,為了演示上麵提到的第二種形式,我們以把當前工作目錄下文件數存儲到變量 FILES ,然後使用 echo 來輸出,如下:


  1. $ FILES=`sudo find . -type f -print | wc -l`
  2. $ echo "當前目錄有 $FILES 個文件。"

顯示目中包含文件的數量

顯示目中包含文件的數量

原文發布時間為:2017-01-22

本文來自雲棲社區合作夥伴“Linux中國”

最後更新:2017-05-27 10:02:25

  上一篇:go  50 種係統免遭黑客侵襲的方法 [2017 年版]
  下一篇:go  立下新年flag之前 先看看如何用數據督促自己完成年度計劃