一片伟大的净土

灵魂的归处,肉体的坟墓。

实验八-Shell程序设计

2023/12/13

let为定义变量
脚本写好之后需要chmod 777 脚本文件,来赋予运行权限
同时执行的时候需要加上地址,比如脚本文件a.sh
执行为./a.sh

实验目的:
1、掌握shell中的变量定义和引用。
2、掌握Shell中的算术运算符、文件运算符。
3、掌握shell中的控制语句。
4、掌握shell中的预定义变量和环境变量
5、掌握shell程序的两种执行方式

实验内容:
1.统计/etc下文件和目录的数目。
#! /bin/bash

count1=$(find /etc -type f | wc -l)
count2=$(find /etc -type d | wc -l)

echo "f:$count1"
echo "d:$count2"

2.在用户目录下创建20个目录,目录名由用户指定部分+【1-20】组成

#! /bin/bash

read -p "Input:" my_name
for((i=1;i<=20;i++))
do
        mkdir -p "$HOME/${my_name}${i}"
        echo "$HOME/${my_name}${i} is created"
done

3.输出九九乘法表
#!/bin/bash

for ((i=1;i<=9;i++))
do
    for ((j=1;j<=i;j++))
    do
        let c=i*j
        echo -ne "${i}X${j}=$c\t"
    done
    echo
done


4.输出200以内能被7整除的所有数,并求其和
#! /bin/bash

let sum=0
for ((i=1; i<=200; i++))
do
        let c=i%7
        if [ ${c} -eq 0 ]; then
                echo -ne "${i} "
                let sum=sum+i
        fi
done
echo "sum=${sum}"

5.从键盘输入3个数,求最大值
#!/bin/bash

read -p "Input 3 numbers:" a b c
let "tmp = (a > b) ? a : b"
let "max = (tmp > c) ? tmp : c"
echo "max=${max}"

6.检测当前用户是否为超级用户,若是输出“root user”,否则输出“Normal User”
#! /bin/bash

if [ $UID -eq 0 ]; then
        echo "root user"
        else echo "Normal user"
fi

7.编写脚本测试当前机房整个网段172.17.69.0/24中,那些机器处于开机状态,那些处于关机状态

来回ping :(