首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bin bash:使用给定的sh文件参数启动python文件

Bin bash:使用给定的sh文件参数启动python文件
EN

Stack Overflow用户
提问于 2020-06-04 18:53:22
回答 1查看 186关注 0票数 0

我有一个relay2.sh文件,它应该启动一个带有给定参数的python文件。所以我使用domoticz智能家居系统,我的任务是使用- script://relay2.sh 192.168.11.4 4196 1 1从domoticz启动外壳脚本,参数是- IP,端口,中继,RELAY_STATUS。我正在做的是,启动一个sh文件,并将参数从domoticz传递到sh文件。在此之后,我尝试使用sh文件中给定的参数启动一个python文件。但它不起作用。我真的不知道如何将参数从sh传递到py文件。

这是我的sh代码:

代码语言:javascript
复制
#!/bin/bash
echo "$1 $2 $3 $4 --test_vars-- (working)"
#!/usr/bin/python3
update.py $1 $2 $3 $4
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-04 19:01:18

您错误地使用了shebang。每个文件只能包含一个shebang (例如#!/bin/bash),并告诉命令行界面在执行脚本时使用哪个可执行文件。

因为您的脚本应该是一个shell脚本,所以要使用的方法是#!/bin/bash

为了将参数传递给python脚本,需要调用python3 update.py $1 $2 $3 $4,假设python3在PATH变量上。您可以使用echo $PATH和/或which python3检查这一点

如果您希望从命令行执行纯python脚本,则必须将python shebang (#!/usr/bin/python)添加到python文件并处理该脚本中的参数。可以在here上找到一个很好的教程。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62192871

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档