在函数内定义变量

在函数内定义变量

我想知道是否可以像 JavaScript 那样从函数调用变量,例如:

function myFunction(variable){
// do some stuff here

}

然后我们这样称呼它:

myFunction('Hello World!');

处理方法如下:

convertSecs(){

seconds=$1

hours=$((seconds / 3600))
seconds=$((seconds % 3600))
minutes=$((seconds / 60))
seconds=$((seconds % 60))

echo "$hours hour(s) $minutes minute(s) $seconds second(s)"
}

convertSecs 3680

谢谢你的建议

答案1

不,bash用不同的方法处理。

实际上bash使用位置参数(参数)而不是直接使用通常的function_name(input_var)格式。

在函数定义中,将其$1用作函数的第一个参数,$2将其用作第二个参数,以此类推。引用函数时,只需在函数名称后标记参数(保持所需的顺序)。

例子:

$ foo () { echo "This is $1" ;}
$ foo bar
This is bar

$ foo () { echo "First: $1; Second: $2" ;}
$ foo bar spam
First: bar; Second: spam

相关内容