shell脚本中在for循环内判断目录是否存在不存在则创建目录
时间: 2023-03-04 12:33:51 浏览: 113
可以使用以下的 Shell 脚本代码实现:
```sh
#!/bin/bash
# 需要遍历的目录列表
dirs=(dir1 dir2 dir3)
# 遍历目录列表,判断目录是否存在,不存在则创建目录
for dir in "${dirs[@]}"
do
if [ ! -d "$dir" ]; then
mkdir "$dir"
echo "创建目录 $dir"
fi
done
```
在这个示例中,首先定义了一个目录列表 `dirs`,然后使用 `for` 循环遍历这个列表。在循环中,使用 `if` 语句判断当前目录是否存在。如果目录不存在,就使用 `mkdir` 命令创建这个目录,并在屏幕上输出一条消息表示目录已经被创建。
相关问题
shell脚本中在for循环内判断目录是否存在不存在则创建目录,不管创建不创建目录都进行for循环的后续操作
您可以在for循环内使用条件语句来检查目录是否存在,如果不存在则创建目录。无论目录是否存在,您都可以继续进行for循环后续操作。
以下是一个示例脚本,用于循环遍历当前目录下的所有文件,并在需要时创建目录:
```bash
#!/bin/bash
for file in *; do
# 检查当前项是否为目录
if [ -d "$file" ]; then
echo "Processing directory: $file"
# 检查目录是否存在,如果不存在则创建目录
if [ ! -d "$file/newdir" ]; then
mkdir "$file/newdir"
echo "Created directory: $file/newdir"
fi
# 进入新目录并执行一些操作
cd "$file/newdir"
# do something...
cd ..
else
echo "Processing file: $file"
# do something...
fi
done
```
在此示例中,如果当前项是一个目录,脚本会检查该目录是否存在`newdir`子目录。如果`newdir`子目录不存在,则脚本会在当前目录下创建一个新的子目录。然后,脚本会进入`newdir`子目录并执行一些操作,然后返回到上一级目录。如果当前项不是一个目录,则脚本会直接执行某些操作。无论目录是否已经存在,for循环都会继续进行,直到处理完所有的文件和目录。
shell脚本如何创建和书写
shell脚本是在Linux和Unix系统中使用的一种文本文件,它包含了一系列命令和控制结构,用于自动化执行一系列任务。以下是创建和书写的步骤:
1. **创建**:
- 使用文本编辑器(如`nano`, `vim`, `emacs`, 或者`gedit`等)打开一个新文件,通常以`.sh`作为扩展名表示它是Shell脚本。例如:
```
$ nano myscript.sh
```
2. **编写内容**:
- 脚本内容通常是命令行指令,它们按照一定的逻辑顺序排列。基本语法包括:
- 变量赋值:`VAR=value`
- 执行命令:`command`
- 条件判断:`if [ condition ] ; then ... else ... fi`
- 循环:`for`, `while`, 和 `until` 等循环结构
- 函数定义:`function name { ... }`
示例:
```bash
#!/bin/bash
echo "Hello, World!"
age=25
if [ $age -gt 18 ]; then
echo "You are an adult."
else
echo "You are a minor."
fi
```
3. **保存并设置执行权限**:
- 保存文件后,在终端中切换到该脚本所在的目录,并给予脚本执行权限:
```
$ chmod +x myscript.sh
```
4. **运行脚本**:
- 可以直接通过文件名运行脚本:
```
$ ./myscript.sh
```
阅读全文