2.3 一個簡單的腳本
阿新 • • 發佈:2018-09-17
shell腳本 chmod 命令 簡單的 自動化 com 終端 進行 完成 讓我們從簡單的腳本開始。假設你行知道,現在系統上有多少人登錄。who命令可以告訴你現在系統有誰登錄:
[many@avention Desktop]$ who
many :0 2018-09-16 21:58 (:0)
many pts/0 2018-09-16 21:58 (:0)
在大型的、多用戶的系統上,所列出來的列表可能很長,在你能夠計算用戶個數之前,列表早已滾動出屏幕畫面,因此每次做這件事的時候,都會讓你覺得很麻煩。這正是進行自動化的好時機。計算用戶總數的方法尚未提到。對此,我們可以利用 wc 程序,它可以算出行數(line)、字數(word)與字符數(character)。在此例中,我麽用的是 wc -l ,也就是只算出行數:
[many@avention Desktop]$ who | wc -l
2
|(管道)符號可以在兩程序之間建立管道(pipeline):who的輸出,成了 wc 的輸入,wc 所列出的結果就是已登錄用戶的個數。
下一步則是將此管道轉變成一個獨立的命令。方法是把這條命令輸入一個一般的文件中,然後使用chmod為該文件設置執行的權限,如下所示:
[many@avention my_sh]$ cat > nusers 建立文件,使用cat復制終端的輸入
echo "開始統計用戶數..." 程序的內容
who | wc -l
echo "統計用戶數結束..."
^D Ctrl + D
[many@avention my_sh]$ chmod u+x nusers 讓文件擁有執行的權限
[many@avention my_sh]$ ./nusers 執行測試
開始統計用戶數... 輸出我們要的結果
2
統計用戶數結束...
這展現了小型Shell腳本的典型開發周期:首先,直接在命令行(command line)上測試。然後,一旦找到能夠完成工作的適當語法,再將它們放進一個獨立的腳本裏,並為該腳本設置執行的權限。之後,就能直接使用該腳本。
2.3 一個簡單的腳本