如何用getopts获取参数值

问题描述 投票:0回答:1
while getopts ':s:e:ci:z:n:d:m:' opt; do
  echo -- $opt
  echo -- $OPTORG
done

对于执行时的上述代码段

bash a.sh -c -m lsdjfe -s "all ab" -d all

结果成

-- c
--
-- m
--
-- s
--
-- d
--

我期待的地方

-- c
--
-- m
-- lsdjfe
-- s
-- all ab
-- d
-- all

我究竟做错了什么?

bash getopts
1个回答
0
投票

只有一个角色错了。这是更正后的版本:

while getopts ':s:e:ci:z:n:d:m:' opt; do
  echo -- $opt
  echo -- $OPTARG
done

你拼错了OPTARG作为OPTORG

© www.soinside.com 2019 - 2024. All rights reserved.