Hye,我正在尝试创建一个cli命令,它会将参数传递给python脚本。
例如,我的python脚本将根据给定的参数
执行./run.py <START-DATE> <END-DATE> -site <SITE-ID>(ranging from 1 to n)
这里的问题是,如何将变量从bash脚本传递给我的python脚本?
我所研究的是,如果我们不知道将会传递多少纪录,我可以使用变量$ 1,$ 2,$ 3等和$ @来获取参数。
这里的问题是,
我的<START-DATE>
<END-DATE>
和-site
仅固定为1个变量,分别为1美元,2美元和3美元,那么我怎样才能使用$ @但只能在$ 3之后?
我的代码test.sh现在:
#!/usr/bin/bash
if [ $1 -ne "" ] && [ $2 -ne "" ] && [ $3 -ne "" ] && [ $4 -ne "" ]; //minimum 1 argument for site// then
/usr/bin/python2.6 run.py $1 $2 $3
else
echo "Please insert the correct number of arguments"
谢谢。
答案 0 :(得分:2)
您可以使用$#
查找传递给bash脚本的参数数量。如果一切顺利,请使用$@
将所有参数传递给Python脚本。类似的东西:
# At least 4 arguments should be passed
if [ $# -gt 3 ]
then
/usr/bin/python2.6 run.py $@
else
echo "Please insert the correct number of arguments"
fi