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; thenecho "主机 $IP 在线。"fi
done
测试:
2、设计一个Shell程序,在/userdata目录下创建50个目录,命名为user1至user50。设置每个目录的权限如下:
文件所有者:读、写、执行权限。
文件所有者所在组:读、执行权限。
其他用户:读权限。
脚本:
#!/bin/bashBASE_DIR="/userdata"# 检查基础目录是否存在,不存在则创建,并检查创建是否成功
if [ ! -d "$BASE_DIR" ]; thenmkdir "$BASE_DIR"if [ $? -ne 0 ]; thenecho "无法创建基础目录 $BASE_DIR。"exit 1fi
fi# 创建50个目录并设置权限
for i in {1..50}
doDIR_NAME="${BASE_DIR}/user${i}"# 创建目录,并检查创建是否成功mkdir "$DIR_NAME"if [ $? -ne 0 ]; thenecho "无法创建目录 $DIR_NAME。"continuefi# 设置目录权限,并检查设置是否成功chmod 754 "$DIR_NAME"if [ $? -ne 0 ]; thenecho "无法设置目录 $DIR_NAME 的权限。"continuefiecho "已成功创建并设置权限于目录 $DIR_NAME。"
doneecho "所有目录创建和权限设置完成。"
测试: