第八周練習腳本部分

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

#!/bin/bash
#
for((i=1;i<=254;i++));do
    site="172.16.250.${i}"
    ping -w1 -c1 $site &> /dev/null
    if [[ "$?" == "0" ]];then
        echo -e "\033[32m${site}\033[0m"
    else
        echo -e "\033[35m${site}\033[0m"
    fi
done

2.寫一個腳本,完成以下功能

(1) 假設某目錄(/etc/rc.d/rc3.d/)下分別有K開頭的文件和S開頭的文件若干;

(2) 顯示所有以K開頭的文件的文件名,并且給其附加一個stop字符串;

(3) 顯示所有以S開頭的文件的文件名,并且給其附加一個start字符串;

(4) 分別統計S開頭和K開頭的文件各有多少;

#!/bin/bash
#
for i in $(ls /etc/rc.d/rc3.d/);do
    if [[ "$i" =~ ^S  ]];then
        S=$(echo $i | wc -l)
        let Ssum+=$S
        echo ${i}start
    fi
    if [[ "$i" =~ ^K  ]];then
        K=$(echo $i | wc -l)
        let Ksum+=$K
        echo ${i}stop
    fi
done
    echo "S Begin:$Ssum"
    echo "K Begin:$Ksum"

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

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

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

#!/bin/bash
#
if [ $# -eq 0 ];then
    echo "At least one parameter,try the script again,please!"
    exit 1
fi
for i in $*;do
    id $i &> /dev/null && uid=$(grep -E "^${i}" /etc/passwd | cut -d: -f3) || echo "This user isn't existing"
    let sum+=$uid
done
    echo "ID_SUM is $sum"

4、寫一個腳本

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

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

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

#!/bin/bash
#
if [ $# -eq 0 ];then
    echo "At least one parameter,try the script again,please!"
    exit 1
fi
for i in $*;do
    if [ -d $i ];then
        ls $i
        dnum=$(ls $i | wc -l)
        echo "The Directory has $dnum files"
    else
        ls $i
        echo "This is a commom file:$i"
    fi
done

5、寫一個腳本

通過命令行傳遞一個參數給腳本,參數為用戶名

如果用戶的id號大于等于500,則顯示此用戶為普通用戶;

#!/bin/bash
#
if [ $# -eq 0 ];then
    echo "At least one parameter,try the script again,please!"
    exit 1
fi
for i in $*;do
    id $i &> /dev/null && uid=$(grep -E "^${i}" /etc/passwd | cut -d: -f3) || echo "This user isn't existing"
        if [[ "$uid" > "500" ]];then
            echo "$i is a common user"
        fi
done

6、寫一個腳本

(1) 添加10用戶user1-user10;密碼同用戶名;

(2) 用戶不存在時才添加;存在時則跳過;

(3) 最后顯示本次共添加了多少用戶;

#!/bin/bash
#
x=0
for i in {1..10};do
    id user$i &> /dev/null && continue || useradd user$i && echo "user$i" | passwd --stdin user$i && let x++
done
    echo "add $x users"

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

與第一題相似,就不寫啦~

8、打印九九乘法表;

#!/bin/bash
#
for((i=1;i<=9;i++));do
    for((j=1;j<=i;j++));do
        echo -e -n "$j*$i=$[$i*$j]\t"
    done
    echo ""
done

原創文章,作者:N24_澀味,如若轉載,請注明出處:http://www.www58058.com/63855

(0)
N24_澀味N24_澀味
上一篇 2016-12-15
下一篇 2016-12-16

相關推薦

  • Acheng學習宣言

    我是Acheng,我參加了馬哥Linux運維網絡班,從2016年9月開始我將跟隨馬哥學習Linux技術。我的學習宣言是:再努力也不為過!朝著活學活用,做到做精的方向努力吧! 

    Linux干貨 2016-10-25
  • Linux文件權限之facl

    1、什么是facl         facl(file access control list)文件訪問控制列表,主要目的是在原有的u,g,o之外,另一層讓普通用戶能控制賦權給另外的用戶或組的機制;       &nbs…

    Linux干貨 2016-09-19
  • vim實用技能

    vim編輯器 簡介 vi: Visual Interface,文本編輯器 文本:ASCII, Unicode 文本編輯種類: 行編輯器: sed 全屏編輯器:nano, vi VIM – Vi IMproved 使用 vim:模式化的編輯 基本模式: 編輯模式,命令模式 輸入模式 末行模式: 內置的命令行接口 打開文件: # vim [OPTIO…

    Linux干貨 2018-01-16
  • lvs-nat集群

    lvs-nat算法 nat模型樣式 vs服務器:公網地址 172.18.250.253 私網地址 192.168.57.129 (DIP) 各私網服務器網關指向服務器DIP 各私網服務器做集群:web (telnet,ssh) 私網服務器使用httpd實現 rs私網服務器1 centos7 ip:192.168.57.132 rs私網服務器2 centos6…

    Linux干貨 2017-05-15
  • MySQL慢日志監控腳本實例剖析

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1577326        公司線上的 MySQL 慢日志,之前一直沒有做好監控。趁著上周空閑,我就把監控腳本寫了下,…

    Linux干貨 2016-08-15
  • xen虛擬化基礎篇

    Xen介紹:  xen是一個開放的源代碼虛擬機監視器,有劍橋大學研發。它打算在單個計算機上運行多達128個滿足特征的操作系統,操作系統必須進行顯示地修改("移植")以在Xen上運行(但是提供對用戶應用的兼容性)。這使得無需特殊硬件支持,就能達到高性能的虛擬化。 Xen由三部分組成:     第一部分…

    Linux干貨 2015-08-26

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-12-23 12:07

    贊~~從幾個腳本來看,掌握的非常不錯~~繼續加油~

欧美性久久久久