1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
在線的主機使用綠色顯示;
不在線的主使用紅色顯示;
#!/bin/bash ipnet=172.20.51. trap 'trap_action' INT trap_action() { break return 1 } for ((i=1;i<=50;i++));do ping -c 1 -W 1 ${ipnet}${i} &> /dev/null && echo -en "\033[32m ${ipnet}${i} \033[0m\n" || echo -en "\033[31m ${ipnet}${i} \033[0m\n" done
2、如何給網絡接口配置多個地址,有哪些方式?
]# ip addr add 172.20.219.51/24 label eth0:2 dev eth0 ]# ifconfig eth0:1 172.20.219.51 netmask 255.255.255.0 up
3、寫一個腳本,完成以下功能
(1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;
(2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;
(3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;
(4) 分別統計S開頭和K開頭的文件各有多少;
#!/bin/bash s=0 k=0 for i in `ls /etc/rc.d/rc3.d/*`;do case $i in /etc/rc.d/rc3.d/S*) echo ${i##*/}stop && let s++;; /etc/rc.d/rc3.d/K*) echo ${i##*/}start && let k++;; esac done echo -en "以K開頭的文件個數為:${k}\n" echo -en "以S開頭的文件個數為:${s}\n"
4、寫一個腳本,完成以下功能
(1) 腳本能接受用戶名作為參數;
(2) 計算此些用戶的ID之和;
#!/bin/bash sum=0 declare -a userid for i in $(seq 1 $#);do userid[$i]=$(id -u $1 2>/dev/null) if [ -z ${userid[$i]} ];then echo -en "$1不存在\n" shift else let sum+=${userid[$i]} shift fi done echo -en "用戶id之和為:${sum}\n"
5、寫一個腳本
(1) 傳遞一些目錄給此腳本;
(2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
(3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
#!/bin/bashsumdir=0sumfile=0trap 'trap_action' INTtrap_action() {echo -en "總共包含的目錄數:${sumdir}\n"echo -en "總共顯示的文件數:${sumfile}\n"exit 2}f_type() {local jlocal j_pathif [ ! -d $1 ];then echo -en "${1}該參數不是目錄!\n" shift continueelse for j in $(ls $1);do j_path=${1}/${j} [ -d $j_path ] && let sumdir++ && f_type $j_path [ -f $j_path ] && let sumfile++ file $j_path donefi}for i in $(seq 1 $#);do f_type $1 shiftdoneecho -en "總共包含的目錄數:${sumdir}\n"echo -en "總共顯示的文件數:${sumfile}\n"
6、寫一個腳本
通過命令行傳遞一個參數給腳本,參數為用戶名
如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bash for i in $(seq 1 $#);do userid[$i]=$(id -u $1 2>/dev/null) if [ -z ${userid[$i]} ];then echo -en "${1}該用戶不存在!\n" && shift && continue elif [ ${userid[$i]} -lt 500 ];then echo -en "${1}該用戶為系統用戶\n" && shift && continue else echo -en "${1}該用戶為普通用戶\n" && shift fi done
7、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;
#!/bin/bash netip=172.16.250. trap 'trap_action' INT trap_action () { break return 2 } for ((i=20;i<=100;i++));do ping -c 1 -W 1 ${netip}$i &> /dev/null && echo ${netip}$i done
8、打印九九乘法表;
#!/bin/bash for i in {1..9};do for j in $(seq 1 $i);do echo -en "${j}x${i}=$[$j*$i]\t" done echo done
原創文章,作者:N25_Nva,如若轉載,請注明出處:http://www.www58058.com/69781
測試了部分腳本代碼,功能都沒有問題,但是還是希望今后可以把執行結果在文章中直觀展示出來,繼續 加油。