我希望使用我的shell脚本调用多种形式的命令行选项.
我知道getopts可以使用,但就像在Perl中一样,我无法对shell做同样的事情.
关于如何做到这一点的任何想法,以便我可以使用如下选项:
./shell.sh --copyfile abc.pl /tmp/
./shell.sh -c abc.pl /tmp/
Run Code Online (Sandbox Code Playgroud)
在上面,两个命令对我的shell意味着相同的东西,但使用getopts,我还没有能够实现这些?
我正在使用标准 getopts 逻辑。但我想知道如何才能使我提供的选项相互排斥。例如
shell.sh -a SID
<accepted>
shell.sh -b SID
<accepted>
shell.sh -ab SID
Message- using ab together is the same as running shell.sh without any options supplying just SID . Help usage < ya da ya >
shell.sh
Please enter SID at the minimum. Usage < ya da ya >
shell.sh SID
<accepted>
Run Code Online (Sandbox Code Playgroud)
我正在尝试使用如下所示的方法来开发这个逻辑
while getopts ":a:b:" opt; do
case $opt in
a ) SID="$OPTARG";;
set var=1
b ) SID="$OPTARG";;
set var=2
\?) echo "Invalid option: -"$OPTARG"" >&2
exit …Run Code Online (Sandbox Code Playgroud)