1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態;
在線的主機使用綠色顯示;
不在線的主使用紅色顯示;
#!/bin/bash # for i in {1..254}; do if -W 1 -c 1 ping 172.16.250.$i &> /dev/null; then echo -e "\033[32mHost 172.16.250.$i is online.\033[0m" else echo -e "\033[31mHost 172.16.250.$i is offline.\033[0m" fi done
2、如何給網絡接口配置多個地址,有哪些方式?
~]# ip addr add 192.168.121.11/24 dev eno16777736:1 ~]# ifconfig eth0:1 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0:0
3、寫一個腳本,完成以下功能
(1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;
(2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;
(3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;
(4) 分別統計S開頭和K開頭的文件各有多少;
#!/bin/bash # declare -i k=0,s=0 for i in $(ls /etc/rc.d/rc3.d/K* | grep -E -o "[^/]+$"); do echo "$i stop" let k++ done for j in $(ls /etc/rc.d/rc3.d/S* | grep -E -o "[^/]+$"); do echo "$j start" let s++ done echo "Filename begins with "s": $s" echo "FIlename begins with "k": $k"
4、寫一個腳本,完成以下功能
(1) 腳本能接受用戶名作為參數;
(2) 計算此些用戶的ID之和;
#!/bin/bash # declare -i sum=0 if [ $# -lt 1 ];then echo "At least one username!" exit 1 fi for user in $@;do if id $user &> /dev/null; then sum=$[$sum+$(id -u $user)] else echo "No such user!" exit 2 fi done echo "$sum"
5、寫一個腳本
(1) 傳遞一些目錄給此腳本;
(2) 逐個顯示每個目錄的所有一級文件或子目錄的內容類型;
(3) 統計一共有多少個目錄;且一共顯示了多少個文件的內容類型;
#!/bin/bash # declare -i dir=0,file=0,dir_all=0,file_all=0 for i in $@;do if [ -d $i ]; then for j in $(ls $i);do echo "$j" if [ -f $i/$j ];then let file+=$file elif [ -d $i/$j ];then let dir+=$dir fi done fi file_all=$[$file_all+$file] dir_all=$[$dir_all+$dir] done echo "File num: $file_all" echo "Directory num: $dir_all"
6、寫一個腳本
通過命令行傳遞一個參數給腳本,參數為用戶名
如果用戶的id號大于等于500,則顯示此用戶為普通用戶;
#!/bin/bash # if [ $# -eq 0 ];then echo "At least one username!" exit 1 fi id=$(id -u $1) if [ $id -ge 500 ]; then echo "login user" else echo "system user" fi
7、寫一腳本,用ping命令測試172.16.250.20-172.16.250.100以內有哪些主機在線,將在線的顯示出來;
#!/bin/bash # for((i=20;i<=100;i++)); do if ping -W 1 -c 1 172.16.250.$i &> /dev/null; then echo "172.16.250.$i is online" fi done
8、打印九九乘法表;
#!/bin/bash # declare -i j=1 declare -i i=1 while [ $j -le 9 ];do while [ $i -le $j ];do echo -n -e "${i}X${j}=$[$j*$i]\t" let i++ done let j++ let i=1 echo done
原創文章,作者:浙江-咲,如若轉載,請注明出處:http://www.www58058.com/71784
可以看出腳本運用的已經比較熟練了,腳本在手,天下我有,繼續加油。