Ash*_*raS 5 bash directory function mkdir
我试图执行一个程序,该程序将根据提示符提供的完整路径创建一个目录,如果该目录已存在,它将返回一个错误(“目录已存在”)并再次询问递归函数中的名称。
这是我尝试过的:让我们说一个文件,test1
其中:
#!/bin/bash
echo "enter the directory name"
read ab
check(){
if (( echo `mkdir $ab` 2>/dev/null )); then
echo "directory created "
echo `ls -ld $ab`
exit
else
echo "try again "
echo "enter new value for directory:"
read ab
check
fi
}
check
Run Code Online (Sandbox Code Playgroud)
这里的问题是,如果目录存在,那么程序可以正常工作,但如果不存在,那么它会创建它,然后转到程序的其他部分。
回声总是成功的。没有它和子外壳:
#!/bin/bash
echo "enter the directory name"
read ab
check(){
if mkdir "$ab" 2>/dev/null; then
echo "directory created "
ls -ld "$ab"
exit
else
echo "try again "
echo "enter new value for directory: "
read ab
check
fi
}
check
Run Code Online (Sandbox Code Playgroud)