shell脚本传参 3种方式
时间: 2023-05-08 08:58:22 浏览: 443
Shell脚本是一种命令行解释器,可以直接执行命令、操作文件等。在实际应用中,运行的Shell脚本往往需要传入参数来控制脚本的行为和逻辑,因此学会Shell脚本传参对于我们写出好的脚本是十分必要的。下面介绍Shell脚本传参的三种方式:
1. 位置参数传参: 通过$1、$2、$3...的变量获取传入的参数,其中$0表示脚本的名字。
例如:
```
#!/bin/bash
echo "The first parameter is $1 and the second parameter is $2."
```
执行:
```
./test.sh hello world
```
输出:
```
The first parameter is hello and the second parameter is world.
```
2. 特殊变量传参: Shell脚本还提供了一些特殊变量可以用来获取所传递参数的信息,如传递参数个数的${#}、所有参数组成的${*}和所有参数组成的${@}。
例如:
```
#!/bin/bash
echo "There are $# parameters."
echo "All parameters are ${*}."
echo "All parameters are ${@}."
```
执行:
```
./test.sh hello world 123
```
输出:
```
There are 3 parameters.
All parameters are hello world 123.
All parameters are hello world 123.
```
3. 命令行传参: 在执行Shell脚本时直接通过“sh test.sh 参数1 参数2…”的方式传参。这种方式需要注意空格和引号,可以使用双引号保留参数中的空格。
例如:
```
#!/bin/bash
echo "The first parameter is $1 and the second parameter is $2."
```
执行:
```
sh test.sh "hello world" 123
```
输出:
```
The first parameter is hello world and the second parameter is 123.
```
总结:以上三种方式是Shell脚本传参的常用方法,通过具体的需求来决定选用哪种方式,以达到最好的效果。
阅读全文