Linux脚本可选参数

Linux脚本可选参数,第1张

shell的getopts 用法

shell脚本传可选参数 getopts 和 getopt的方法 - 志不坚者智不达 - 博客园 (cnblogs.com)

选项之间可以通过冒号:进行分隔,也可以直接相连接,:表示选项后面必须带有参数,如果没有可以不加实际值进行传递

例如:getopts ahfvc: option表明选项a、h、f、v可以不加实际值进行传递,而选项c必须取值。使用选项取值时,必须使用变量OPTARG保存该值。

while getopts ":a:b" opt #第一个冒号表示忽略错误;字符后面的冒号表示该选项必须有自己的参数

Linux shell脚本开始执行时,系统会初始化一些脚本的环境变量和参数变量,这些变量是可以直接使用的,下面是一些参数变量:

$1,$2,$3......:代表脚本程序的参数,脚本有几个参数数字就到几;

那$0代表什么呢?当然是脚本的名字了

还有和脚本参数有关的一个脚本环境变量:$#

它代表传递给脚本的参数个数。

知道了这些,你就可以在你编写的脚本内编写处理脚本参数的代码,一旦你的脚本有了对参数的处理,你就可以这样调用有参数的脚本:

./脚本名 参数1 参数2......

参数和脚本名、参数和参数之间用空格分开,和使用shell命令的格式是一样的。

用eval,可以把字符串当作命令来执行:

val=2

eval "x=\$$val"

echo $x

2. 用"$@"把参数列表转化成数组

val=1

x=( "$@" )

echo "${x[$val]}"

注意:数组是从0开始的,也就是 ${x[0]} 对应 $1、${x[1]} 对应 $2,依次类推……


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8310602.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-15
下一篇2023-04-15

发表评论

登录后才能评论

评论列表(0条)

    保存