提问人:Malte 提问时间:3/8/2022 更新时间:3/8/2022 访问量:187
在 bash 中使用 getopt 传递 Interger 参数
Pass Interger Argument with getopt in bash
问:
我想使用 getopt 传递一些 interger 号码。
这是我尝试过的:
if ! options=$(getopt -o n: -l num: -- $@)
then
exit 1
fi
set -- $options
while [ $# -gt 0 ]
do
case $1 in
-n|--num) number=$2 ; shift;;
esac
shift
done
echo $number
问题是如果我运行它回声
“10”而不是 10
我不能将其用作 和 整数。./test.sh --num 10
欢迎任何帮助!
答: 暂无答案
评论
10
'10'
eval set -- $options
eval
getopt
它本身引用每个参数以使用空格,但随后您需要像 shell 一样剥离生成的引用。您可以使用它来禁用它,但这可能会导致它自己的问题。eval
-u