shell脚本指定变量名传参
时间: 2023-09-02 17:02:56 浏览: 119
在Shell脚本中,可以通过指定变量名传参来向脚本传递参数。传参的常见方式有两种:
1. 通过位置参数传参:位置参数是指在执行脚本时,参数按照顺序传递给脚本。在脚本中,可以使用特殊变量`$1`、`$2`、`$3`等来获取位置参数的值。例如,以下脚本通过位置参数传递两个参数,并输出它们的值:
```shell
#!/bin/bash
echo "第一个参数:$1"
echo "第二个参数:$2"
```
执行脚本时,可以在脚本名后面跟上参数,参数之间用空格分隔:
```
$ ./script.sh param1 param2
```
输出如下:
```
第一个参数:param1
第二个参数:param2
```
2. 通过命名参数传参:命名参数是指在执行脚本时,用`-参数名 值`的方式传递参数。在脚本中,可以通过特殊变量`$参数名`来获取命名参数的值。为了解析命名参数,可以使用`getopts`命令。以下是一个示例脚本:
```shell
#!/bin/bash
while getopts "a:b:" opt; do
case "${opt}" in
a)
arg1=${OPTARG}
;;
b)
arg2=${OPTARG}
;;
*)
;;
esac
done
echo "参数a的值:$arg1"
echo "参数b的值:$arg2"
```
执行脚本时,可以指定参数名和对应的值:
```
$ ./script.sh -a value1 -b value2
```
输出如下:
```
参数a的值:value1
参数b的值:value2
```
总结:通过以上两种方式,可以在Shell脚本中指定变量名传参,方便地向脚本传递参数并在脚本中使用。
阅读全文