Bash Shell函数,使用一个参数执行操作
我试图做一些简单的事情,比如基于给定参数的mkdirBash Shell函数,使用一个参数执行操作,bash,shell,unix,Bash,Shell,Unix,我试图做一些简单的事情,比如基于给定参数的mkdir #!/bin/bash make_picNum() { arg1 = $1 echo "Making picture folder $arg1..." echo "mkdir picNum_$arg1" echo "Created album folder" } 我假设我有一些基本的语法缺陷。 以任何给定的数字作为参数运行此函数的当前输出/操作是nada。您的脚本定义了一个名为make_picNum的函数,
#!/bin/bash
make_picNum() {
arg1 = $1
echo "Making picture folder $arg1..."
echo "mkdir picNum_$arg1"
echo "Created album folder"
}
我假设我有一些基本的语法缺陷。
以任何给定的数字作为参数运行此函数的当前输出/操作是nada。您的脚本定义了一个名为
make_picNum
的函数,但它从未调用该函数。
尝试在末尾添加以下内容:
make_picNum "$1"
此外,还需要删除=
周围的空格
我在a.sh中创建这个,然后是chmod+x file.sh和./file.sh args 如果是这样的话,你就不需要在脚本中使用这个函数,也就是说,你可以只使用这个函数
#!/bin/bash
echo "Making picture folder $1..."
mkdir "picNum_$1"
echo "Created album folder"
您似乎声明了一个函数,但实际上没有调用它。我在.sh中创建了这个函数,然后chmod+x file.sh和./file.sh args
arg1=$1
是非法的,它应该写为arg1=“$1”
,注意变量名和等号之间缺少空格。还应始终引用变量展开式。如果您所做的只是在这个文件中定义函数,那么您不应该执行它,而是应该为它提供源代码:source file.sh
;在此之后,您可以引用make_picNum函数。Done、Done以及make_picNum()之前添加的关键字函数。我的另一个明显错误是重复我想要的命令,哈。不要使用函数
关键字。这是一种不必要的、非标准的巴什主义。