22得票1回答
Shell脚本参数没有值

我正在创建一个非常简单的sh文件来执行某个操作,但是我想传递一个没有值的参数,例如:./fuim -l 但是我收到了以下消息:./fuim: option requires an argument -- l 如果我传递一个随机值,比如./fuim -l 1,它可以完美地工作。我该怎么做? 到...

21得票1回答
在shell内置命令getopts中,OPTIND变量如何工作

我的shell脚本非常简单,如下所示: while getopts "abc:" flag; do echo "$flag" $OPTIND $OPTARG done 我会按照以下方式进行一些测试:Blank@Blank-PC:~/lab/shell/getopts_g...

20得票1回答
如何在Bash中使用getopts选项而不带结尾参数

我想在bash中使用getopts。用户应该选择自己的选项。 大多数选项都需要参数,但有两个选项不需要参数。当没有参数的选项在命令的中间时,它能正常工作,但是当它在最后时就不能正常工作。 注意-前两个参数(服务器和密码)是强制性的,并不是getopts的一部分。#!/bin/bash SE...

19得票3回答
如何处理包含空格的参数的shell getopts

我正在寻找一种处理包含空格的参数的方法,这些参数需要被 shell 的 getopts 命令解析。while getopts ":a:i:o:e:v:u:" arg do echo "ARG is: $arg" >> /tmp/submit.log case "$arg...

16得票2回答
在Bash中解析命令行参数的最佳方式是什么?

经过几天的研究, 我仍然无法找到在.sh脚本中解析命令行参数的最佳方法。根据我的参考资料,getopts命令是最好的选择,因为它“提取和检查开关而不干扰位置参数变量。意外的开关或缺少参数的开关会被识别并报告为错误。” 位置参数(例如2-$@,$#等)显然在涉及空格时效果不佳,但可以识别常规和长...

15得票2回答
Bash中如何获取多个参数或默认值

我在bash中有一个关于get opts的问题。如果参数值存在,我想获取它们的值,但如果不存在,则使用默认值。因此,脚本应该接受一个目录和一个整数,但如果未指定,则应使用$PWD和3作为默认值。以下是代码:while getopts "hd:l:" opt; do case $opt ...

14得票1回答
getopts检查互斥参数

我有一个简单的脚本(如下),其中包含互斥的参数。 脚本的参数应为./scriptname.sh -m|-d [-n],但是用户可以使用./scriptname.sh -m -d来运行脚本,这是错误的。 问题:我如何强制执行用户只提供了一个互斥参数?#!/bin/sh usage() { ...

12得票2回答
getopts连续调用两次会出现问题吗?

由于某种原因,在第一次调用 lib_progress_bar -c "@" -u "_" 0 100 时选项正常工作,但在第二次及以后的调用中,所有内容都是默认值,因为好像第二次周围的 getopts c:u:d:p:s:%:m: flag 不是真实的,或者至少在我使用 set -x 后没有执...

11得票4回答
使用getopts(bash)处理多个可选参数

我正尝试使用bash中的getopts处理命令行参数。其中一个要求是处理任意数量的选项参数(不使用引号)。 第一个示例(只获取了第一个参数)madcap:~/projects$ ./getoptz.sh -s a b c -s was triggered Argument: a 第二个例子(我...

11得票5回答
在不使用getopts的情况下,在Shell脚本中添加用法内容

我有一个脚本,如果用户在执行脚本时缺少任何必需的信息,我需要显示使用命令。Usage : Script -s <server> -i <instance> -u <user> -p <password> <query> -w <...