shell腳本的練習

1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態? 在線的主機使用綠色顯示? 不在線的主機使用紅色顯示

#!/bin/bash

for i in {1..254};do

{

ip=172.16.250.$i

if ping -c 1 -w 1 $ip &> /dev/null ; then

echo -e “\033[32;49;1m$ip\033[39;49;0m\n”

else

echo -e “\033[31;49;1m$ip\033[39;49;0m\n”

fi

}&

done

wait

2、如何給網絡接口配置多個地址,有哪些方式

(1)~]#ifconfig eth0:0 192.168.2.250/24 up

(2)ip addr add 192.168.2.250/24 dev eth0

(3)通過編輯/etc/sysconfig/network-scripts/ifcfg-IFACE

(4)使用nmtui命令

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

S*)

echo “$i start”

S=$[S+1] ?;; ?K*)

echo “$i stop”

K=$[K+1] ?;; esac

done

echo -e “S $S Files\nK $K Files”

4、寫一個腳本,完成以下功能

(1)腳本能接受用戶名作為參數;

(2)計算此用戶的ID之和;

#!/bin/bash

#

declare -i idsum=0

for i in $@;do

if ! id $i &>/dev/null;then

echo “$i is not exist.”

else

idsum=$[$idsum+$(id -u $i)]

fi

done

echo “Users id sum is $idsum”

5、寫一個腳本

(1)傳遞一些目錄給此腳本;

(2)逐個顯示每個目錄的所有一級文件或子目錄的內容類型;

(3)統計一共有多少個目錄,且一共顯示了多少個文件的內容類型;

#!/bin/bash

#

declare -i dir=0

declare -i files=0

if [ $# -lt 1 ];then

echo “At least one dir.”

exit 1

fi

if ![ -e $1 ];then

echo “dirctory not exist.”

exit 2

fi

for i in $@;do

file $i/*

for e in `ls $i`;do

if [ -d $i/$e ];then

dir=$[dir+1]

fi

files=$[files+1]

done

done

echo ” dir = $dir ,all file type= $files “

6、寫一個腳本?通過命令行傳遞一個參數給腳本,參數為用戶名?如果用戶ID號大于500,則顯示此用戶為普通用戶

#!/bin/bash

#

if [ $# -lt 1 ];then

echo “At least one user name”

exit 1

fi

if ! id $1 &>/dev/null;then

echo ” No such user.”

exit 2

fi

userid=$(id -u $1)

if [ $userid -ge 500 ];then

echo “Common user.”

fi

7、寫一個腳本,用ping命令172.16.250.20-172.16. 250.100以內有哪些主機,將在線的顯示出來;

#!/bin/bash

for i in {20..100}; do

{

ip=172.16.250.$i

if ping -c 1 -w 1 $ip &> /dev/null ; then

echo -e “\033[32;49;1m$ip\033[39;49;0m\n”

fi

} &

done

wait

8、打印九九乘法表

#!/binbash

#

for i in ?`seq 9`;do

for j in `seq 9`; do

[ $j -le $i ] ?&& ?echo ?-n ?“$i*$j= `echo $(($i*$j))` “

done

echo ” ?“

done

本文來自投稿,不代表Linux運維部落立場,如若轉載,請注明出處:http://www.www58058.com/87291

(0)
N27_shijinlongN27_shijinlong
上一篇 2017-09-17 18:26
下一篇 2017-09-17 20:25

相關推薦

  • Ansible(From Wikipedia)

           Ansible 是一個免費的用于配置和管理計算機的的軟件平臺。它集成了軟件部署,ad hoc任務執行,和管理配置的功能。它依賴Python2.4之后的版本和通過SSH或者PowerShell管理節點。模塊工作在JSON格式,輸出信息可以被任何編程語言再次編寫。系統管理員可以使用YAML…

    Linux干貨 2015-11-18
  • 第8天磁盤管理練習—增加SWAP分區

          SWAP交換空間,指在物理內存不夠用時,充當虛擬內存使用。在實際操作中,使用1-2G的一個分區并指定分區類型為SWAP,掛載至SWAP來使用。 一、新增分區 fdisk /dev/sda n     #新增加分區 t   &nb…

    Linux干貨 2016-07-04
  • 文本查看工具、grep及正則表達式

    cat [OPTION]… [FILE]…順序查看文件-E: 顯示行結束符$-n: 對顯示出的每一行進行編號(包括空白行)-A:顯示所有控制符-T:顯示制表符^I(即tab鍵)-b:只對非空白行進行編號-s:壓縮連續的空行成一行 tac 逆序查看文件(第一行變為最后一行) rev 行內逆序查看文件(第一個字符變為最后一個字符) mor…

    Linux干貨 2016-08-11
  • LNMP內網部署wiki

    需求:內部人員經常到查閱資料,考慮在內網搭建wiki站點。 實驗拓撲: 實驗環境:        Nginx,PHP:192.168.198.160,10.0.0.07        MySQL:10.0.0.8 軟件包:  &n…

    Linux干貨 2015-10-15
  • Linux文件查找之find秘笈

    前言     Linux的基本特點之一是一切皆文件,在系統管理過程中難免會需要查找特定類型的文件,那么問題來了:如何進行有效且準確的查找呢?本文將對Linux系統中的文件查找工具及用法進行詳細講解。 常用工具對比     常用的文件查找工具主要有locate(非實時查找)和find(實時查找)。locate查找依賴于索…

    2015-03-23
  • nginx配置(二)

    ngx_http_gzip_module: The ngx_http_gzip_module module is a filter that compresses responses using the “gzip” method. This often helps to reduce the size of transmitted data by half…

    Linux干貨 2017-05-08
欧美性久久久久