2007年6月10日 星期日

基本 bash 程式設計 (4) - Command Substitution

到此為止,目前看到了兩種指定變數值的方式:
  1. script 中指定
  2. 以 position parameter 的方式指定

在這個部分中,要介紹更強大好用的變數指定方式,稱為 Command Substitution !

Command Substitution 的神奇之處在於「可以將各種命令的 standard output 作為變數的值」! 使用語法如下:
$(指令內容)
以下用一些範例來說明:
# 列出目前所在的目錄
echo $(pwd)

# 列出使用者家目錄的檔案
echo $(ls $HOME)

# 列出目前所在目錄下的檔案
echo $(ls $(pwd))

# 檔案中的斷行字元會被移除掉後印出其內容
echo $(< sort_data.txt)

接著再來個稍微複雜一些的,假設從主機中發信給目前登入主機的所有使用者,可以這樣做:
# 顯示目前所有登入 server 的使用者
who

# 取得所有使用者的清單
who | cut -d' ' -f1

# 寄信給他們囉!
mail $(who | cut -d' ' -f1)
最後,其他更加靈活的使用,就是在於管理者的創意與巧思了!

沒有留言:

張貼留言