Bootstrap

Shell作业二

1、编写一个Shell脚本用于判断192.168.242.0/24网络中当前在线的IP地址,并打印出这些IP地址。

   脚本:

#!/bin/bash

# 网络前缀
NETWORK="192.168.242"

echo "正在扫描网络 $NETWORK.0/24 中的活动主机..."

# 遍历主机地址
for i in {1..254}
do
    # IP地址
    IP="${NETWORK}.${i}"

    # 使用ping命令检查主机是否在线,仅发送一次ICMP请求
    if ping -c 1 "$IP" &> /dev/null; then
        echo "主机 $IP 在线。"
    fi
done

   测试:



2、设计一个Shell程序,在/userdata目录下创建50个目录,命名为user1至user50。设置每个目录的权限如下:

        文件所有者:读、写、执行权限。
        文件所有者所在组:读、执行权限。
        其他用户:读权限。

脚本:

#!/bin/bash

BASE_DIR="/userdata"

# 检查基础目录是否存在,不存在则创建,并检查创建是否成功
if [ ! -d "$BASE_DIR" ]; then
  mkdir "$BASE_DIR"
  if [ $? -ne 0 ]; then
    echo "无法创建基础目录 $BASE_DIR。"
    exit 1
  fi
fi

# 创建50个目录并设置权限
for i in {1..50}
do
    DIR_NAME="${BASE_DIR}/user${i}"

    # 创建目录,并检查创建是否成功
    mkdir "$DIR_NAME"
    if [ $? -ne 0 ]; then
      echo "无法创建目录 $DIR_NAME。"
      continue
    fi

    # 设置目录权限,并检查设置是否成功
    chmod 754 "$DIR_NAME"
    if [ $? -ne 0 ]; then
      echo "无法设置目录 $DIR_NAME 的权限。"
      continue
    fi

    echo "已成功创建并设置权限于目录 $DIR_NAME。"
done

echo "所有目录创建和权限设置完成。"

测试:

 

 

;