Bash 如何在以名称作为输入的目录中创建目录?
例如,如果我作为输入获取Bash 如何在以名称作为输入的目录中创建目录?,bash,Bash,例如,如果我作为输入获取filename和dirname,并且我想在dirname处创建名为filename的新目录 我怎么做 我尝试使用mkdir来创建目录,但它只在当前目录中创建目录(不允许我选择如何创建新目录)。不确定您是否正在查找此目录,您可以尝试一下,并告诉我这是否对您有帮助 cat script.ksh filename="$1" directory="$2" if [ ! -d "$directory" ] then mkdir -p "$directory/$f
filename
和dirname
,并且我想在dirname
处创建名为filename
的新目录
我怎么做
我尝试使用
mkdir
来创建目录,但它只在当前目录中创建目录(不允许我选择如何创建新目录)。不确定您是否正在查找此目录,您可以尝试一下,并告诉我这是否对您有帮助
cat script.ksh
filename="$1"
directory="$2"
if [ ! -d "$directory" ]
then
mkdir -p "$directory/$filename"
else
echo "There seems to be directory already present, please enter some other directory name."
fi
从man mkdir
:
mkdir-p“$dirname/$filename”
?@user000001您能解释一下为什么我需要在这里使用标志p
?-p
告诉mkdir
如果前导目录不存在,就创建它们。例如,如果foo
不存在,那么mkdir foo/bar
将失败,但是mkdir-p foo/bar
将在尝试创建bar
之前创建foo
@chepner谢谢:)Hye,你能解释一下你试图用presence
做什么吗,在脚本的参数是否存在的情况下,对给定的directory by person进行检查,如果是,则会抛出一条消息,您应该像script.ksh second\u directory first\u directory那样运行它“如果
first_directory`存在,那么它将不会运行,如果您有任何疑问,请告诉我。不要像这样使用ls
。只需使用if[!-d“$directory”]测试目录即可;然后
mkdir-p“$directory/$filename”;其他的fi`.@RavinderSingh13谢谢:)它起作用了,现在我明白了。
-p, --parents
no error if existing, make parent directories as needed