我有一个用例,我必须在shell脚本中执行不同方法的功能。 用户将调用我的shell脚本 我必须阅读选项的价值,并在此基础上调用方法。 请在下面找到示例代码。
./ testfile.sh --option1 value1 --option2 value2
#!/bin/bash
#
# Example of how to parse short/long options with 'getopt'
#
OPTS=`getopt --long option1,option2 -n 'parse-options' -- "$@"`
if [ $? != 0 ] ; then echo "Failed parsing options." >&2 ; exit 1 ; fi
echo "$OPTS"
eval set -- "$OPTS"
opt=""
id=""
while true; do
echo "Inside while $1 $2"
case "$1" in
--option1) echo $1; shift ;;
--option2 ) echo $2; shift ;;
-- ) shift; break ;;
* ) break ;;
esac
done
echo "Value for opt $opt"
echo "Value for id $id"
答案 0 :(得分:0)
我们可以使用getopt实现长选项调用的解析。 我的用例: - 当我们只提供长选项时,我们如何使用getopt,因为getopt可以解析短路,例如' -o,-k。 -p等'以及" - opt, - pass等"等长期选项。 当我们使用getopt时,下面是它的默认语法
'getopt -o 'o,p,k' --long opt,pass -n 'parse-options' -- "$@"'
上面的行将解析long和short选项。 我的用例的解决方案是我们通过短引号的单引号,如下所示,下面的行只会解析长选项,即选择并通过。
'getopt -o '' --long opt,pass -n 'parse-options' -- "$@"'