馬哥教育網絡班23期+第九周課堂練習
Linux Bash腳本編程練習
練習
1.寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell (即用戶的shell不是/sbin/nologin) 分別統計這2類用戶的個數,通過字符串比較來實現
腳本:
測試結果:
。。。
2.寫一個腳本
(1)獲取當前主機的主機名 保存于hostname變量中
(2)判斷此變量的值是否為localhost如果是,則將當前主機名修改為www.magedu.com
(3)否則,顯示當前主機名
腳本:
測試結果:
3.寫一個腳本,完成以下功能
(1)傳遞一個磁盤設備文件路徑給腳本,判斷此設備是否存在
(2)如果存在,則顯示此設備上的所有分區信息
腳本:
測試結果:
4.寫一個腳本,完成如下功能
腳本能夠接受一個參數
(1)如果參數1為quit 則顯示退出腳本,并執行正常退出
(2)如果參數1為yes 則顯示繼續執行腳本
(3)否則,參數1為其他任意值,均執行非正常退出
腳本:
測試結果:
5.寫一個腳本,完成以下功能
傳遞一個參數給腳本,此參數為gzip bzip2 或者xz三者之一
(1)如果參數1的值為gzip 則使用tar和gzip歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160613.tar.gz
(2)如果參數1的值為bzip2 則使用tar和xz歸檔壓縮/etc目錄至/backups目錄中,命名為/backups/etc-20160613.tar.bz2
(3)如果參數1的值為xz 則使用tar和xz歸檔壓縮/etc目錄至/backups目錄中,并命名為/backups/etc-20160613.tar.xz
(4)其他任意值 則顯示錯誤壓縮工具,并執行非正常退出
腳本:
6.寫一個腳本,接受一個路徑參數
(1)如果為普通文件。則說明其可被正常訪問
(2)如果是目錄文件,則說明可對其使用cd命令
(3)如果為符號鏈接文件,則說明是個訪問路徑
(4)其他為無法判斷
腳本:
測試結果:
7.寫一個腳本,取得當前主機的主機名,判斷
(1)如果主機名為空或為Localhost 或為(none)則將其命名為mail.magedu.com
(2)否則,顯示現有的主機名即可
8.寫一個腳本,接受一個用戶名為參數
(1)如果用戶的id號為0 則顯示其為管理員
(2)如果用戶的Id號大于0且小于500 則顯示其為系統用戶
(3)否則,則顯示其為普通用戶
腳本:
測試結果:
9.寫一個腳本,傳遞一個用戶名參數給腳本
(1)如果用戶的id號大于等于500 且其默認shell為以sh結尾的字符串,則顯示“a user can log system” 類的字符串
原創文章,作者:luobo3692003,如若轉載,請注明出處:http://www.www58058.com/60224
腳本的功能實現的很好,不過不建議這種以直接截圖的展現代碼的形式,一定要以文本方式進行展示,不僅格式更友好,以方便需要的人拷取,也更符合開源精神嘛。