如何在函数中创建目录

时间:2019-05-30 06:38:43

标签: bash function mkdir

编辑:

我正在尝试构建一个简单的函数,该函数打印出一个名称,然后创建一个目录。我是使用bash构建函数的新手,所以下面的脚本不起作用:

dest_path=/home/all/todo    
line="name"

mkdir_for_name() {
echo $1
mkdir $2
}

mkdir_for_name $name
mkdir_for_name $dest_path/$name

该语法有什么问题?

3 个答案:

答案 0 :(得分:2)

由于您使用的是echo,因此我相信您要打印目录名称;当然,您需要向函数传递2个参数。可以通过以下方式调用您的函数。这样,您无需更改代码。

mkdir_for_name  "$name"  "$dest_path/$name"

完整脚本:

dest_path=/home/all/todo    
line="name"

mkdir_for_name() {
echo "$1"
mkdir "$2"
}

mkdir_for_name  "$name"  "$dest_path/$name"

答案 1 :(得分:0)

您的函数使用$2,但是您只用一个参数调用它,因此$2为空。

答案 2 :(得分:0)

您定义了一个接受2个参数的函数,其中传递的第一个参数是要在屏幕上打印的名称(“ echo”行),而传递的第二个参数将创建所需的文件夹。 仅传递一个参数只会在屏幕上显示该参数