在 Shell 脚本中,你可以通过传递参数给脚本来实现更灵活的脚本编写。通过这种方式,你可以将数据传递给脚本,使其能够根据不同的输入执行不同的操作。

1. 位置参数:

在脚本中,位置参数是指在运行脚本时传递给脚本的参数,它们通过 $1, $2, $3, ... 表示。

例如,如果有一个脚本 myscript.sh,你可以这样运行它:
./myscript.sh arg1 arg2 arg3

在脚本内部,你可以通过 $1、$2、$3 来获取这些参数的值。
#!/bin/bash

echo "The first argument is: $1"
echo "The second argument is: $2"
echo "The third argument is: $3"

2. 特殊参数:

  •  $#: 表示传递给脚本的参数个数。

  •  $@: 表示所有传递给脚本的参数的列表。

  •  $0: 表示脚本的名称。

#!/bin/bash

echo "Number of arguments: $#"
echo "All arguments: $@"
echo "Script name: $0"

3. 示例:

以下是一个简单的脚本,它通过位置参数计算两个数字的和:
#!/bin/bash

# Check if two arguments are provided
if [ $# -ne 2 ]; then
    echo "Usage: $0 num1 num2"
    exit 1
fi

# Extract arguments
num1=$1
num2=$2

# Perform addition
sum=$((num1 + num2))

# Display the result
echo "The sum of $num1 and $num2 is: $sum"

使用方式:
./add.sh 10 20

这将输出: