1. 程式人生 > >shell指令碼進階練習題

shell指令碼進階練習題

1、編寫指令碼/root/bin/createuser.sh,實現如下功能:使用一個使用者名稱做為引數,如果指定引數的使用者存在,就顯示其存在,否則新增之;顯示新增的使用者的id號等資訊
2、編寫指令碼/root/bin/yesorno.sh,提示使用者輸入yes或no,並判斷使用者輸入的是yes還是no,或是其它資訊
3、編寫指令碼/root/bin/filetype.sh,判斷使用者輸入檔案路徑,顯示其檔案型別(普通,目錄,連結,其它檔案型別)
4、編寫指令碼/root/bin/checkint.sh,判斷使用者輸入的引數是否為正整數
----------------------------------------------------------------------------------------------------------------------------1、判斷/var/目錄下所有檔案的型別

2、新增10個使用者user1-user10,密碼為8位隨機字元
3、/etc/rc.d/rc3.d目錄下分別有多個以K開頭和以S開頭的檔案;分別讀取每個檔案,以K開頭的輸出為檔案加stop,以S開頭的輸出為檔名加start,如K34filename stopS66filename start
4、編寫指令碼,提示輸入正整數n的值,計算1+2+…+n的總和


5、計算100以內所有能被3整除的整數之和
6、編寫指令碼,提示請輸入網路地址,如192.168.0.0,判斷輸入的網段中主機線上狀態
7、列印九九乘法表
8、在/testdir目錄下建立10個html檔案,檔名格式為數字N(從1到10)加隨機8個字母,如:1AbCdeFgH.html

9、列印等腰三角形

----------------------------------------------------------------------------------------------------------------------------1、編寫指令碼,求100以內所有正奇數之和
2、編寫指令碼,提示請輸入網路地址,如192.168.0.0,判斷輸入的網段中主機線上狀態,並統計線上和離線主機各多少
3、編寫指令碼,利用變數RANDOM生成10個隨機數字,輸出這個10數字,並顯示其中的最大值和最小值
4、編寫指令碼,實現列印國際象棋棋盤



5、後續六個字串:efbaf275cd、4be9c40b8b、44b2395c46、f8c8873ce0、b902c16c8b、ad865d2f63是通過對隨機數變數RANDOM隨機執行命令: echo $RANDOM|md5sum|cut –c1-10 後的結果,請破解這些字串對應的RANDOM值

執行結果如下:
----------------------------------------------------------------------------------------------------------------------------1、每隔3秒鐘到系統上獲取已經登入的使用者的資訊;如果發現使用者hacker登入,則將登入時間和主機記錄於日誌/var/log/login.log中,並退出指令碼
2、隨機生成10以內的數字,實現猜字遊戲,提示比較大或小,相等則退出

3、用檔名做為引數,統計所有引數檔案的總行數
4、用二個以上的數字為引數,顯示其中的最大值和最小值
5. 斐波那契數列