1、需求:判断192.168.1.0/24网络中,当前在线的ip有哪些,并编写脚本打印出来。
#!/bin/bash
# 循环遍历 1 到 254
for ip in $(seq 1 254); do
# 拼接完整的IP地址
target_ip="192.168.1.$ip"
# 使用ping命令检测IP是否在线,-c 1 表示发送1次ping包,-W 1 表示超时等待1秒>,将标准输出和标准错误输出都重定向到 /dev/null,避免输出过多无用信息
if ping -c 1 -W 1 $target_ip &> /dev/null; then
echo "$target_ip is online"
fi
done
2、设计一个 Shell 程序,在/userdata 目录下建立50个目录,即 user1~user50,并设置每个目录的权限,其中其他用户的权限为:读;文件所有者的权限为:读、写、执行;文件所有者所在组的权限为:读、执行。
#!/bin/bash
# 检查 /userdata 目录是否存在,不存在则创建
if [! -d /userdata ]; then
mkdir /userdata
fi
# 循环创建 50 个目录并设置权限
for i in {1..50}; do
dir_name="user$i"
mkdir /userdata/$dir_name
chmod 754 /userdata/$dir_name
done
~