Shell 脚本中如何获取命令行参数?

推荐答案

在 Shell 脚本中,可以通过以下方式获取命令行参数:

示例输出

假设脚本名为 script.sh,执行命令 ./script.sh arg1 arg2 arg3,输出如下:

本题详细解读

1. 获取单个参数

在 Shell 脚本中,命令行参数通过 $1, $2, $3 等变量来获取。其中:

  • $1 表示第一个参数
  • $2 表示第二个参数
  • 以此类推

2. 获取所有参数

  • $@ 表示所有命令行参数,每个参数作为独立的字符串。
  • $* 也表示所有命令行参数,但所有参数作为一个整体字符串。

3. 获取参数个数

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

4. 特殊变量

  • $0 表示脚本的名称。
  • $$ 表示当前脚本的进程 ID。
  • $? 表示上一个命令的退出状态。

5. 使用 shift 命令

shift 命令可以将参数向左移动,例如:

执行 ./script.sh arg1 arg2 后,输出:

6. 遍历所有参数

可以使用 for 循环遍历所有参数:

7. 处理带空格的参数

如果参数中包含空格,建议使用双引号包裹变量:

这样可以确保带空格的参数被正确处理。

纠错
反馈