shell脚本-循环遍历所有选项的方法

shell脚本-循环遍历所有选项的方法

我是 shell 脚本新手,遇到了以下情况。我有一个有多个选项的 perl 脚本。并非所有选项都是必需的。

example.prl [options]
options: 
    -h             help
    -o filename    output file name
    -f             force output file overwrite
    -d             debug mode
    ...

我想创建一个 shell 脚本来解析 prl 脚本的选项。并且这些选项并不都是必需的,例如:

./example.sh -o output_file 
OR
./example.sh -o output_file -f

这是我的一些进展,但仅适用于 1 个参数:

#!/bin/bash

path=/proj/scripts/example.prl
option=$1
option_value=$2

echo "The command to run:"
echo $path $name $option 
$path $option $option_value 

有没有办法循环遍历用户放置的所有选项并构造命令?

答案1

#!/bin/bash
while [[ ! -z "$1" ]]; do
    case "$1" in
        -a)
            handle_dasha
            ;;
        -b)
            and_so_on
            ;;
    esac
    shift
done

相关内容