📜  bash 可选参数 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:29:35.090000             🧑  作者: Mango

Bash 可选参数 - Shell-Bash

在 Bash 脚本中,我们经常需要使用参数来传递输入和输出文件名,或是程序运行时所需要的参数。这些参数可以是必需的,也可以是可选的,本文主要介绍 Bash 可选参数。

什么是 Bash 可选参数?

Bash 可选参数指的是在运行脚本时,用户可以选择是否要输入的参数。这些可选参数可以是单个字符或者单词,用户可以以命令行的方式向脚本中传递这些参数。

如何在 Bash 中使用可选参数?

使用 Bash 可选参数需要用到 getopts 工具。getopts 是一个内置的工具,它可以解析命令行参数并为脚本提供相应的选项。

以下是一个简单的示例:

#!/bin/bash

while getopts ":a:b:" opt; do
  case $opt in
    a) arg1="$OPTARG"
    ;;
    b) arg2="$OPTARG"
    ;;
    \?) echo "Invalid option -$OPTARG" >&2
    ;;
  esac
done

echo "arg1 = $arg1"
echo "arg2 = $arg2"

在上面的示例中,我们使用了一个 while 循环来遍历解析命令行参数,使用 case 语句来处理每个选项。在每个选项的 case 子句中,我们可以将参数存储在一个变量中,以便稍后使用。

使用示例:

$ ./test.sh -a hello -b world

arg1 = hello
arg2 = world

在上面的示例中,我们向脚本传递了两个参数,-a 和 -b。注意,在每个选项后面都要紧跟着相应的参数。

总结

在 Bash 中,可选参数可以帮助我们更好地控制程序的运行。使用 getopts 工具可以很容易地解析命令行参数。当然,这只是 Bash 可选参数的基础知识,你还可以掌握更高级的用法,例如处理多个选项,或是使用长选项等等。