Bash 创建目录
本文演示了如何在 Bash 中不存在文件夹的情况下创建该文件夹。
如果 Bash 中不存在文件夹,请创建一个文件夹
我们使用 mkdir
命令在 Linux 中创建一个新目录。我们使用 mkdir -p
来避免错误消息。
使用 mkdir
命令,你必须一个一个地创建每个文件,但是使用 mkdir-p
,它会立即创建它。
如果 Bash 中不存在一个文件夹,我们可以通过两种不同的方式创建一个文件夹。我们可以通过在函数中使用 while
循环或递归方法来做到这一点。
我们可以通过在 Bash 脚本中使用这个 if[ -d $DirName ]
来检查目录是否已经存在的条件。我们将创建一个 Bash 函数,它将目录名称作为用户的输入。
如果目录不存在,它将创建一个新目录。如果目录已经存在,它会提示用户输入不同的名称。
在 Bash 中使用 while
循环创建文件夹
在 while
循环中,我们将使用 Bash 脚本中的 read
命令从用户那里获取输入。用户将输入他想要创建的目录名称。
如果在这种情况下输入的目录名称已经存在,if[ -d $Dirname]
条件将返回 true。它将向用户显示该目录已存在的消息。
它将提示用户输入不同的目录名称。这种检查条件将一直持续到用户在输入中输入一个尚不存在的目录名称。
当用户输入一个在这种情况下不存在的目录名称时,if[ -d $Dirname]
条件将返回 false,并且 else
块将执行以创建新目录。
它将向用户显示 the new directory has been successfully created
,循环将中断。
示例代码:
#!/bin/bash
function mkdirectory() {
while [ true ]
do
if [ -d $DirName ]
then
echo "Directory Already exists:"
echo "Enter Different Name: "
read DirName
else
mkdir "$DirName"
echo " the new directory has been successfully created: $DirName"
break
fi
done
}
echo "Enter New DirName: "
read DirName
mkdirectory
在 Bash 中使用递归方法创建文件夹
在递归方法中,用户通过参数给出输入。用户输入这样的目录名称,./rcrdir.sh Dir
。
rcrdir.sh
是 Bash 文件名,Dir
是用户想要创建的目录名。 $1
用于获取第一个参数(目录名)。
如果用户输入的目录名称在这种情况下已经存在,if[ -d $1]
条件将返回 true。它将向用户显示该目录已存在的消息。
它将提示用户输入不同的目录名称。用户输入另一个名称。
此检查将继续进行,直到用户在输入中输入唯一的目录名称。
当用户输入一个在这种情况下不存在的目录名称时,if[ -d $1 ]
条件将返回 false,并且 else
块将执行以创建新目录。
它将向用户显示 the new directory has been successfully created
,然后循环中断。
示例代码:
#! /bin/bash
function mkdirectory(){
if [ -d $1 ]
then
echo "Directory aleady exists: "
echo "Enter different name:"
read directory
mkdirectory $directory
else
mkdir $1
echo " the new directory has been successfully created: $1"
fi
}
mkdirectory $1
My name is Abid Ullah, and I am a software engineer. I love writing articles on programming, and my favorite topics are Python, PHP, JavaScript, and Linux. I tend to provide solutions to people in programming problems through my articles. I believe that I can bring a lot to you with my skills, experience, and qualification in technical writing.
LinkedIn