【實驗】給指定的而且已登錄系統的用戶發信息

題目要求: linux

編寫一個腳本,顯示當天日期,查找給定的某用戶是否在系統中工做。若是在系統中,就發一個問候給他。 shell

題目代碼: bash

#!/bin/bash
echo `date +'%Y-%M-%D %H:%M:%S' `
if [ $# -eq 0 ];then
  echo "no input!!"
  exit 1
fi
until [ "$#" -eq 0 ]
do 
  who | grep '\b'$1'\b'  > /dev/null
  if [  "$?" =  0 ];then
        write $1
  fi
  shift
done
exit 0

代碼中$#保存了輸入參數個數的環境變量,$n(n=1,2,..)是保存輸入參數的位置參數。判斷用戶是否登陸用了 '\b'$1'\b',\b是單詞鎖定符,如\broot\b就是指匹配單詞root。 學習

輸入 # chmod +x ./文件名(通常保存爲*.sh)使文件變爲可執行文件,執行。 設計

如給本身發一個信息: code

後言:最近在學習linux shell程序設計,發上來只是爲了開始個人博客之路,不積跬步,無以致千里。 input

當學習筆記吧,多多指點。 博客


參考答案: it

Until who | grep –w 「$1」
Do
  sleep 20
Done
For a in `who | grep –w 「$1」 | awk {‘print $2’}`
Do
   echo 「hello」>/dev/$a
Done
Exit 0

echo 信息 > /dev/終端名稱用法如圖: 程序設計

相關文章
相關標籤/搜索