zoukankan      html  css  js  c++  java
  • shell基础练习题

    1、判断/etc/inittab文件是否大于100行,如果大于,则显示”/etc/inittab is a big file.”否者显示”/etc/inittab is a small file.”

    #!/bin/bash
    #判断文件行数是否大于100行
    if [ `wc -l /etc/inittab | awk '{print $1}'` -gt 100 ];then
      echo "/etc/inittab is a big file."
    else
      echo "/etc/inittab is a samll file."
    fi

    2、给定一个用户,来判断这个用户是什么用户,如果是管理员用户,则显示“该用户为管理员”,否则显示“该用户为普通用户”

    #!/bin/bash
    #判断用户类型`
    a=`id -u $1` 
    if [ $a -eq 0 ];then
      echo "这是管理员用户"
    else
      echo "普通用户"
    fi

    3、判断某个文件是否存在

    #!/bin/bash
    #判断文件是否存在
    if [ -e $1 ];then
      echo "存在"
    exit 0
    else
      echo "不存在"
    fi

    4、判断当前系统上是否有用户的默认shell程序是否为bash程序,如果有,就显示有多个这类用户,否则就显示没有这类用户;【并且显示出那些用户是bash】

    方法一:

    #!/bin/bash
    #判断用户默认shell程序类型
    a=`grep "/bin/bash" /etc/passwd | wc -l`
    if [ $a -gt 0 ] ;then
      echo "存在bash用户有 $a 个"
    else
      echo "不存在"
    fi

    方法二:

    #!/bin/bash
    #判断用户的默认shell程序类型
    declare -i sum=`grep "/bin/bash" /etc/passwd | wc -l`
    if grep "/bin/bash" /etc/passwd &> /dev/null;then
      echo "存在 $sum 个用户,shell程序为/bin/bash"
      grep "/bin/bash" /etc/passwd | cut -d: -f1
      exit 0
    else 
      echo "没有这类用户"
    exit 1
    fi

     5,输入一个设备文件,输出这个设备文件的基本信息:

    #!/bin/bash
    #查看设备文件信息
    read -t 10 -p "输入一个设备文件名:" devname
    [ -z $devname ] && devname=`fdisk -l` && exit 1
    if [ -b /dev/$devname ];then
        fdisk -l /dev/$devname
        exit 0
    else
        echo "$devname 不是设备文件"
        echo "Usage:请输入一个设备文件,如 sda"
        exit 2
    fi

    6,shell编写99乘法表

    #!/bin/bash
    #99乘法表
    for i in `seq 9`;do
        for j in `seq 9`;do
        [ $j -le $i ] && echo -n -e "$i*$j=`echo $(($i*$j))` "
    done
        echo " "
    done

    7,统计netstat -tan类型

    declare -i L=0
    declare -i E=0
    declare -i o=0

    for i in $(netstat -tan | grep "^tcp" | awk '{print $6}');do
          if [ $i = LISTEN ];then
            let L++
          elif [ $i = ESTALISHED ];then
            let E++
          else
            let o++
    fi
    done
    echo "坚挺的链接有: $L"
    echo "其他链接有: $o"
    echo "家里链接有: $E"

    8,计算1-100内偶数的和

    #!/bin/bash
    #1-100内偶数的和
    declare -i sum=0
        for i in $(seq 0 2 100);do
          let sum+=$i
    done
    echo "和 $sum"

  • 相关阅读:
    Swift入坑系列—集合类型
    Java正则表达式入门
    Swift基础--手势识别(双击、捏、旋转、拖动、划动、长按)
    Swift之手势总结
    Matlab图像彩色转灰色
    HDU1754_I Hate It(线段树/单点更新)
    Cocos2d-x-lua游戏两个场景互相切换MainScene01切换到MainScene02
    freemarker自己定义标签(二)
    hibernate 在tomcat7.X 下配置mysql数据源
    WinCE隐藏显示任务栏,当任务栏隐藏时将其显示,当任务栏显示时将其隐藏(FindWindow,ShowWindow,IsWindowVisible),
  • 原文地址:https://www.cnblogs.com/zabandon/p/11364355.html
Copyright © 2011-2022 走看看