4、寫一個腳本
(1) 能接受四個參數:start, stop, restart, status
start: 輸出“starting 腳本名 finished.”
…
(2) 其它任意參數,均報錯退出;
#!bin/bash read -p "Enter a option: " option prog=$(basename $0) case "$option" in start) echo "start $prog finished" ;; stop) echo "stop $prog finished" ;; restart) echo "restart $prog finished" ;; status) echo "status $prog" ;; *) echo "wrong" exit 3 ;; esac
5、寫一個腳本,判斷給定的用戶是否登錄了當前系統;
(1) 如果登錄了,則顯示用戶登錄,腳本終止;
(2) 每3秒鐘,查看一次用戶是否登錄;
#!/bin/bash # read -p "Enter a user name: " username while true; do if who | grep "^$username" &> /dev/null; then break fi sleep 3 done echo "$username logged on." >> /tmp/user.log
6、寫一個腳本,顯示用戶選定要查看的信息;
cpu) display cpu info
mem) display memory info
disk) display disk info
quit) quit
非此四項選擇,則提示錯誤,并要求用戶重新選擇,只到其給出正確的選擇為止;
#!/bin/bash # cat << EOF cpu) show cpu information; mem) show memory information; disk) show disk information; quit) quit ============================ EOF read -p "Enter a option: " option while [ "$option" != 'cpu' -a "$option" != 'mem' -a "$option" != 'disk' -a "$option" != 'quit' ]; do read -p "Wrong option, Enter again: " option done if [ "$option" == 'cpu' ]; then lscpu elif [ "$option" == 'mem' ]; then cat /proc/meminfo elif [ "$option" == 'disk' ]; then fdisk -l else echo "Quit" exit 0 fi
7、寫一個腳本
(1) 用函數實現返回一個用戶的UID和SHELL;用戶名通過參數傳遞而來;
(2) 提示用戶:輸入一個用戶名或輸入“quit”退出;
當輸入的是用戶名,則調用函數顯示用戶信息;當用戶輸入quit,則退出腳本;
進一步地:顯示鍵入的用戶相關信息后,再次提醒輸出用戶名或quit
#!/bin/bash # function showinfo { if id $name &> /dev/null;then cat /etc/passwd | grep -E '^('$name')\>' |awk -F: '{print $3,$NF}' read -p "Enter a username or quit:" name else read -p "wrong argument,plsease enter a username or quit:" name fi } read -p "Enter a username or quit:" name while [ "$name" != "quit" ];do showinfo $name done
原創文章,作者:mississippi,如若轉載,請注明出處:http://www.www58058.com/45232