shell脚本中有多个函数,如何在执行该脚本时,传参给指定的函数
在执行shell脚本时,可以通过在命令行中传递参数来指定要执行的函数。具体的实现方式是,在脚本中定义多个函数,并在脚本的开头使用$1等变量来获取命令行中传递的参数,然后根据参数的值来调用相应的函数。
下面是一个示例代码:
#!/bin/bash
function func1() {
echo "This is function 1"
}
function func2() {
echo "This is function 2"
}
if [ "$1" == "func1" ]; then
func1
elif [ "$1" == "func2" ]; then
func2
else
echo "Invalid function name"
fi
在上面的代码中,定义了两个函数func1和func2。在脚本的开头,使用$1变量来获取命令行中传递的第一个参数,然后使用if语句来判断参数的值,并根据参数的值来调用相应的函数。
例如,如果要执行func1函数,可以在命令行中输入以下命令:
./script.sh func1
这样,脚本就会执行func1函数,并输出"This is function 1"。如果要执行func2函数,可以将命令行中的参数改为"func2"即可。
总之,通过在脚本中定义多个函数,并根据命令行中传递的参数来调用相应的函数,可以实现在执行脚本时指定要执行的函数的功能。