【问题标题】:How to create a directory in a function如何在函数中创建目录
【发布时间】:2019-05-30 06:38:43
【问题描述】:

编辑:

我正在尝试构建一个打印出名称的简单函数,然后创建一个目录。我是 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

这种语法有什么问题?

【问题讨论】:

  • 你要创建的目录是什么?

标签: bash function mkdir


【解决方案1】:

由于您使用的是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"

【讨论】:

  • 我正在尝试先回显 $name,然后我想创建一个目录...
  • @Bella,当然也一样。
【解决方案2】:

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

【讨论】:

    【解决方案3】:

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

    【讨论】:

      猜你喜欢
      • 2017-03-04
      • 1970-01-01
      • 2010-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-14
      • 2011-04-07
      相关资源
      最近更新 更多