zoukankan      html  css  js  c++  java
  • shell编程习题

    1、编写脚本/root/bin/systeminfo.sh,,包括主机名,IPv4地址,操作系统版本,内核版本, CPU型号,内存大小,硬盘大小。
    #!/bin/bash
    echo "主机名;`hostname`"
    echo "IPv4地址;`ip a | grep ens33$ | cut -d " " -f 6`"
    echo "操作系统版本;`cat /etc/redhat-release`"
    echo "内核版本;`uname -r`"
    echo "cpu:I`lscpu | grep "Model name:" | cut -d "I" -f 2` "
    echo "内存大小;`free -h | grep "Mem" | cut -d "M" -f 2 | tr -d "a-z"":"" " `M"
    echo "硬盘大小 ;`df -h | grep root | cut -d " " -f 4`"

     


    2.统计系统中以.sh结尾的文件总大小,输出结果以kb为单位
    #!/bin/bash
    num=0
    for i in `find / -type "f" -a -name "*.sh" -exec ls -l {} ; | cut -d " " -f 5`
    do
    let num+=$i
    done
    echo "$(($num/1024))KB"
    ~


    3.写一个脚本/root/bin/argsnum.sh,接受一个文件路径作 为参数;如果参数个数小于1,则提示用户“至少应该给一个 参数”,并立即退出;如果参数个数不小于1,则显示第一个 参数所指向的文件中的空白行数
    #!/bin/bash
    read -p "请输入一个文件名的绝对路径:" file
    if [ -e $file ];then
    num=`grep "^$" $file | wc -l`
    echo "$num"
    else
    echo "请输入一个存在文件!"
    fi


    4.:批量判断当前目录下所有文件类型
     
    #!/bin/bash
    for i in `ls /var`
    do
    cd /var
    X=`ls -ld $i | cut -c 1`
    if [ "$X" == "-" ];then
    echo " $i------是文件"
    elif [ "$X" == "d" ];then
    echo "$i------目录"
    elif [ "$X" == "l" ];then
    echo "$i------链接文件"
    else
    echo "$i------无效文件"
    fi
    done


    5.找出系统中含有某个关键词的文件,并输出到终端,关键词用户输入指定
    #!/bin/bash
    read -p "请输入关键字 :" X
    for i in `find /etc/ -type "f"`
    do
    if grep $X $i &>/dev/null;then
    echo "$i--$X"
    fi

    done


    6.实现批量化创建100个用户,并创建8位随机密码,且可登陆
    #!/bin/bash
    for i in `seq 100`
    do
    useradd yonghu$i
    mima=$(echo $RANDOM | md5sum | cut -c 1-8)
    echo "$mima" | passwd --stdin yonghu$i
    echo -e "用户:yonghu$i 密码:$miman " >>/root/test


    done

     

    7.实现批量化检测当前教室主机在线状况,在线主机保存至一个文件中
    #!/bin/bash
    . /etc/init.d/functions
    ip=192.168.126.
    for i in `seq 10`
    do
    if ping -c 1 -w 1 $ip$i >>/dev/null;then
    echo -n "$ip$i"
    success
    echo ""
    echo "$ip$i" >>/root/ip
    else

    echo -n "$ip$i"
    failure
    echo ""

    fi

     

    done


    8.打印九九乘法表
    #!/bin/bash
    for i in `seq 9`
    do
    for l in `seq 9`
    do
    if [ $l -le $i ];then
    echo -n " $i*$l=$(($i*$l))"
    fi
    done
    echo " "
    done

     

    9.计算100以内的奇数和
    ╭─root@zxw ~
    ╰─➤ cat test12.sh
    #!/bin/bash
    sum=0
    for i in `seq 1 2 100`
    do
    let sum+=$i
    done
    echo "$sum"

    ─root@zxw ~
    ╰─➤ bash test12.sh
    2500

     

  • 相关阅读:
    基于 Eclipse 平台的代码生成技术
    mshta命令用法示例(在dos命令弹出消息框)
    opengl绘制正弦曲线
    决策树学习过程中的额外收获---三叉树建立
    C++链表
    java web工程之Hibernate
    Hibernate配置文件学习心得
    TinyMCE在线编辑器使用方法初探
    待修改
    选择问题
  • 原文地址:https://www.cnblogs.com/itzhao/p/11253975.html
Copyright © 2011-2022 走看看