为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Bash中解析命令行参数?

如何在Bash中解析命令行参数?

如何在Bash中解析命令行参数?说,我有一个用这行调用的脚本:./myscript -vfd ./foo/bar/someFile -o /fizz/someOtherFile或者这个:./myscript -v -f -d -o /fizz/someOtherFile ./foo/bar/someFile什么是分析这使得在每一种情况下(或两者的组合)的接受的方式$v,$f以及 $d将全部设置为true和$outFile将等于/fizz/someOtherFile?
查看完整描述

4 回答

?
牧羊人nacy

TA贡献1862条经验 获得超7个赞

getopt()getopts()是一个不错的选择。从这里来的

这个迷你脚本中显示了“getopt”的简单使用:

#!/bin/bashecho "Before getopt"for ido
  echo $idoneargs=`getopt abc:d $*`set -- $args
echo "After getopt"for ido
  echo "-->$i"done

我们所说的是允许使用-a,-b,-c或-d中的任何一个,但是-c后跟一个参数(“c:”表示)。

如果我们称之为“g”并试一试:

bash-2.05a$ ./g -abc fooBefore getopt-abc
fooAfter getopt-->-a-->-b-->-c-->foo-->--

我们从两个参数开始,“getopt”拆分选项并将每个选项放在自己的参数中。它还添加了“ - ”。


查看完整回答
反对 回复 2019-05-29
  • 4 回答
  • 0 关注
  • 1656 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信