Linux命令 - getopts
问题,向脚步传递参数的时候如何取得一个一个的option
办法一: 就是一个一个读 用$#取得变量个数,然后读$1 $2 $3,不是很方便
查了一下命令手册:发现用getopts命令更方便,man page不是很好懂
直接看 Example.sh:
# !/ bin / sh
while getopts 'a:b:c' myoption
do
case $myoption in
a) ls - al
;;
b) ls - l $OPTARG
;;
c) ls - l
esac
done
用法和效果:
Example.sh -a stringa
就会执行 ls -al 这个命令, stringa 其实不起左右,但是这个参数还是要的
Example.sh -b -lrt
那就会执行 ls -l -lrt 传进去的参数起作用了
当然也可以这样
Example.sh -a 123 -b -lrt z, 这个作用就是两个命令都执行了
可以用变量保存这些OPTARG参数,在while循环外面接着使用
分享到:
相关推荐
下面将详细介绍`getopts`的使用方法及其在脚本中的应用。 `getopts`的基本语法是: ```bash getopts optstring varname ``` - `optstring` 是一系列可能的选项,每个选项前通常加一个破折号(-)。如果某个选项需要...
我们将探讨`shift`命令和`getopts`工具的使用方法,以及它们如何简化参数处理流程。 #### shift命令详解 ##### 基础用法 `shift`命令在Shell脚本中用于处理参数时特别有用。它能够移动参数的位置,使得原本存储在...
基本用法包括定义一个包含有效选项的字符串,然后在循环中调用`getopts`,它会返回一个状态码和解析后的选项。 例如,以下是一个简单的`fish-getopts`使用示例: ```fish function my_command set -l options "a:...
使用`getopts`时,你需要指定一个包含有效选项的字符串,如`":a:bc"`,冒号后的字符表示该选项需要一个参数。`getopts`会将找到的选项赋值给指定的变量(通常是`opt`),并将对应的参数存储在`optarg`中。通过`while...
18.7.2 使用while循环读键盘输入 188 18.7.3 用while循环从文件中读取数据 189 18.7.4 使用IFS读文件 189 18.7.5 带有测试条件的文件处理 190 18.7.6 扫描文件行来进行数目统计 191 18.7.7 每次读一对记录 193 18.7....
11.1.12 使用k的其他sort方法 108 11.1.13 使用k做分类键排序 108 11.1.14 指定sort序列 108 11.1.15 pos用法 108 11.1.16 使用head和tail将输出分类 109 11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件...
例如,`while getopts "a:bc" arg` 表示选项 `a` 需要参数,而 `b` 和 `c` 不需要。通过 `case` 语句,可以捕获并处理每个选项。`getopts` 无法处理长选项。 3. **getopt**: `getopt` 是一个独立的外部工具,支持...
为了防止误删,实现回收站功能的方法是使用 Bash 脚本创建 delete 脚本、logTrashDir 脚本和 restoreTrash 脚本,来模拟 Windows 的回收站功能。 Delete 脚本是核心脚本,重新封装了 rm 命令的功能。当用户执行 ...
11.1.12 使用k的其他sort方法 108 11.1.13 使用k做分类键排序 108 11.1.14 指定sort序列 108 11.1.15 pos用法 108 11.1.16 使用head和tail将输出分类 109 11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件...
11.1.12 使用k的其他sort方法 108 11.1.13 使用k做分类键排序 108 11.1.14 指定sort序列 108 11.1.15 pos用法 108 11.1.16 使用head和tail将输出分类 109 11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件...
11.1.12 使用k的其他sort方法 108 11.1.13 使用k做分类键排序 108 11.1.14 指定sort序列 108 11.1.15 pos用法 108 11.1.16 使用head和tail将输出分类 109 11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件...
在提供的代码示例中,可以看到`getopts`的用法: ```bash #!/bin/bash while getopts a:bc opt do case $opt in a) echo "aaa" echo $OPTARG b) echo "bb" c) echo "ccc" *) echo "error" esac done ``` 这...
11.1.12 使用k的其他sort方法 108 11.1.13 使用k做分类键排序 108 11.1.14 指定sort序列 108 11.1.15 pos用法 108 11.1.16 使用head和tail将输出分类 109 11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件...
11.1.12 使用k的其他sort方法 108 11.1.13 使用k做分类键排序 108 11.1.14 指定sort序列 108 11.1.15 pos用法 108 11.1.16 使用head和tail将输出分类 109 11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件...
11.1.12 使用k的其他sort方法 108 11.1.13 使用k做分类键排序 108 11.1.14 指定sort序列 108 11.1.15 pos用法 108 11.1.16 使用head和tail将输出分类 109 11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件...
11.1.12 使用k的其他sort方法 108 11.1.13 使用k做分类键排序 108 11.1.14 指定sort序列 108 11.1.15 pos用法 108 11.1.16 使用head和tail将输出分类 109 11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件...
11.1.12 使用k的其他sort方法 108 11.1.13 使用k做分类键排序 108 11.1.14 指定sort序列 108 11.1.15 pos用法 108 11.1.16 使用head和tail将输出分类 109 11.1.17 awk使用sort输出结果 109 11.1.18 将两个分类文件...