我想知道是否可以像 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