简单介绍python的脚本传参
我们知道python脚本传递参数,有一个很方便的方式-sys.argv.它将脚本本身名字和后面的各项参数都放入一个列表。
使用的时候,索引这个列表就可以了。例如:
python test.py yes 10
sys.argv[0] # 脚本本身名字 (字符串test.py)
sys.argv[1] # 脚本后面第一个参数 (字符串yes)
sys.argv[2] # 脚本后面第2个参数 (字符串10)
其他参数以此类推,需要注意的是索引是有顺序的,这就要求你脚本传参的时候与索引的顺序一致。
shell脚本传参
shell脚本与python相似;想脚本传递参数的格式为:$n。n代表一个数字,类似于上面python传参里的索引,0为脚本本身的名字,
1为执行脚本的第一个参数,2为执行脚本的第二个参数。。。
举个例子:下面脚本test.sh
#!/bin/bash
echo "我们执行的脚本名是: $0"
echo "传入的第一个参数是: $1"
echo "传入的第二个参数是: $2"
执行的格式是: bash test.sh first second
另外,下面几个特殊字符对你处理参数可能会有些帮助。
$# 传递到脚本参数的个数
$$ 脚本运行当前的ID号
$* 以一个字符串显示所有向脚本传递的参数
$@ 与$*类似,但是使用时加引号,并在引号中返回每个参数
getopts传参
while getopts ":a:b:c:" opt; do
case $opt in
a)
echo "参数a的值$OPTARG";;
b)
echo "参数b的值$OPTARG";;
c)
echo "参数c的值$OPTARG";;
?)
echo "未知参数"
exit 1;;
esac
done
# ----------------------------------------
# 来源:CSDN
# 原文:https://blog.csdn.net/sinat_36521655/article/details/79296181
# ----------------------------------------
执行格式:bash test.sh -a 1 -b 2 -c 3