Linux中编写Shell脚本,要求用户输入一个目录名,判断该目录是否为空,写出这个脚本
时间: 2023-03-15 09:16:19 浏览: 119
#!/bin/bashecho "请输入一个目录名:"
read directoryif [ -d $directory ]; then
if [ "ls -A $directory" ]; then
echo "该目录不为空"
else
echo "该目录为空"
fi
else
echo "该目录不存在"
fi
相关问题
Linux编写脚本实现:在主目录下建立20个目录即user01~user20.并设置每个目 录的权限有:所有者和所属组为读写执行权限,其他用户为只读权限·要求:目 录数在1~9时,目录名设为user01-user09,由运行参数给出指定目录,执行格式为:程序名【目录名】,若执行时位置参数没有给出目录名,则默认当前目录。
好的,这是一个简单的Shell脚本,可以实现您的需求。以下是脚本的具体实现:
```
#!/bin/bash
if [ $# -eq 0 ]; then
dir="."
else
dir="$1"
fi
if ! [ -d "$dir" ]; then
echo "Directory $dir does not exist!"
exit 1
fi
cd "$dir"
for i in {1..20}; do
if [ $i -lt 10 ]; then
dirname="user0$i"
else
dirname="user$i"
fi
if ! [ -d "$dirname" ]; then
mkdir "$dirname"
fi
chmod 755 "$dirname"
done
```
这个脚本首先会检查运行参数,如果没有给出目录名,则默认为当前目录。然后,它会检查目录是否存在。如果目录不存在,则会输出一条错误信息并退出。接着,脚本会进入指定的目录,使用循环创建20个目录。当目录数小于10时,目录名为user01-user09;否则,目录名为user10-user20。每个目录都会使用chmod命令设置权限为755,即所有者和所属组有读写执行权限,其他用户只有读权限。
您可以将这个脚本保存为一个文件(比如create_dirs.sh),然后使用chmod命令添加执行权限(比如chmod +x create_dirs.sh),最后通过运行./create_dirs.sh [目录名]来执行脚本。如果没有给出目录名,则默认为当前目录。
阅读全文