我正在创建一个非常简单的sh文件来执行某个操作,但是我想传递一个没有值的参数,例如:./fuim -l 但是我收到了以下消息:./fuim: option requires an argument -- l 如果我传递一个随机值,比如./fuim -l 1,它可以完美地工作。我该怎么做? 到...
我的shell脚本非常简单,如下所示: while getopts "abc:" flag; do echo "$flag" $OPTIND $OPTARG done 我会按照以下方式进行一些测试:Blank@Blank-PC:~/lab/shell/getopts_g...
我想在bash中使用getopts。用户应该选择自己的选项。 大多数选项都需要参数,但有两个选项不需要参数。当没有参数的选项在命令的中间时,它能正常工作,但是当它在最后时就不能正常工作。 注意-前两个参数(服务器和密码)是强制性的,并不是getopts的一部分。#!/bin/bash SE...
我正在寻找一种处理包含空格的参数的方法,这些参数需要被 shell 的 getopts 命令解析。while getopts ":a:i:o:e:v:u:" arg do echo "ARG is: $arg" >> /tmp/submit.log case "$arg...
经过几天的研究, 我仍然无法找到在.sh脚本中解析命令行参数的最佳方法。根据我的参考资料,getopts命令是最好的选择,因为它“提取和检查开关而不干扰位置参数变量。意外的开关或缺少参数的开关会被识别并报告为错误。” 位置参数(例如2-$@,$#等)显然在涉及空格时效果不佳,但可以识别常规和长...
我在bash中有一个关于get opts的问题。如果参数值存在,我想获取它们的值,但如果不存在,则使用默认值。因此,脚本应该接受一个目录和一个整数,但如果未指定,则应使用$PWD和3作为默认值。以下是代码:while getopts "hd:l:" opt; do case $opt ...
我有一个简单的脚本(如下),其中包含互斥的参数。 脚本的参数应为./scriptname.sh -m|-d [-n],但是用户可以使用./scriptname.sh -m -d来运行脚本,这是错误的。 问题:我如何强制执行用户只提供了一个互斥参数?#!/bin/sh usage() { ...
由于某种原因,在第一次调用 lib_progress_bar -c "@" -u "_" 0 100 时选项正常工作,但在第二次及以后的调用中,所有内容都是默认值,因为好像第二次周围的 getopts c:u:d:p:s:%:m: flag 不是真实的,或者至少在我使用 set -x 后没有执...
我有一个脚本,如果用户在执行脚本时缺少任何必需的信息,我需要显示使用命令。Usage : Script -s <server> -i <instance> -u <user> -p <password> <query> -w <...