当前位置:首页 » 硬件·内核·Shell·监测 » getopts
getopts命令
getopts 是 Unix 和 Linux 系统下的一条 shell 命令,用于获取和解析 shell 脚本中的命令行参数。通过 getopts 命令可以方便地处理命令行参数,同时避免了参数顺序和数量不一致的问题。
使用案例:
假设我们有一个名为 myscript.sh
的 shell 脚本,需要通过命令行参数传入两个参数:-f
和 -n
,分别代表文件名和行数。我们可以通过 getopts 命令来获取和解析这两个参数:
#!/bin/bash
while getopts "f:n:" opt; do
case "${opt}" in
f)
file="${OPTARG}"
;;
n)
line="${OPTARG}"
;;
*)
echo "Usage: myscript.sh [-f file] [-n line]"
exit 1
;;
esac
done
echo "File: ${file}"
echo "Line: ${line}"
通过 while getopts "f:n:" opt; do
来指定需要接受的参数的格式,其中 f:
和 n:
表示接受参数的方式为 -f
参数后面跟一个参数值,-n
参数同理。接下来通过 case
语句来针对这些参数做出不同的处理,最后输出文件名和行数。
运行脚本并传递参数:
./myscript.sh -f myfile.txt -n 10
输出结果:
File:
myfile.txt
如果传递的参数格式不正确,比如缺少必须的 -f
参数或 -n
参数,则会输出以下错误信息:
Usage: myscript.sh [-f file] [-n line]