我是 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