IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    Shell 脚本练习题

    Teacher Du发表于 2024-11-01 03:51:26
    love 0

    作为一枚十分贴心的杜老师,在此给大家准备了六道 Shell 脚本练习题。都是入门级的水准,希望大家踊跃尝试编写。

    脚本题目

    1. 编写脚本,计算 1 到 100 的总和;

    2. 编写脚本,输入一个数字 n 并计算 1 到这个数的总和。要求:如果这个数小于等于 1,要求重新输入,直到输入大于 1 的数字为止;

    3. 编写脚本,把/root/目录下的所有目录复制到/tmp/目录;

    4. 编写脚本,批量建立用户,要求用户名的格式为 user_00/user_01,建立 100 个,且用户同属于 users 组;

    5. 编写脚本,在/cjk/目录下的所有文件「不含目录」的文件名后面加.bak;

    6. 编写脚本,给系统中所有已存在的用户打个招呼,格式参考为 hello penndu and your id is 1000。

    参考答案

    一题:

    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
    sum=0
    for i in `seq 1 100`
    do
    sum=$[$i+$sum]
    done
    echo $sum

    二题:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/bin/bash
    n=0
    while [ $n -lt 1 ]
    do
    read -p "Please input a number, it must greater than 1: " n
    done
    sum=0
    for i in `seq 1 $n`
    do
    sum=$[$i+$sum]
    done
    echo $sum

    三题:

    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/bash
    cd /root/
    for f in `ls`
    do
    if[ -d $f ] ; then
    cd -r $f /tmp/
    fi
    done

    四题:

    1
    2
    3
    4
    5
    6
    #!/bin/bash
    groupadd users
    for i in `seq -w 0 99`
    do
    useradd -g users user_$i
    done

    五题:

    1
    2
    3
    4
    5
    6
    7
    8
    #!/bin/bash
    cd /cjk/
    for f in `ls`
    do
    if[ -f $f ] ; then
    mv $f $f.bak
    fi
    done

    六题:

    1
    2
    3
    4
    5
    6
    7
    #!/bin/bash
    for i in `cat /etc/passwd`
    do
    username=`echo $i | cut -d : -f 1`
    id=`echo $i | cut -d : -f 3`
    echo "hello $username and your id is $id"
    done


沪ICP备19023445号-2号
友情链接