首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何让shell脚本启动python脚本?

如何让shell脚本启动python脚本?
EN

Stack Overflow用户
提问于 2015-10-11 13:56:57
回答 2查看 67关注 0票数 1

我需要一个.command文件,该文件可以在与其相同的目录中启动python脚本。

到目前为止,我得到了这样的结论:

代码语言:javascript
复制
#!bin/bash
python /Users/username/Desktop/IF.py

但是每次终端都会返回相同的错误。

代码语言:javascript
复制
Last login: Sun Oct 11 01:48:38 on ttys000
MacBook-Pro:~ username$ /var/folders/m7/yf7p3vdj2mx0l9r7qb68rttc0000gn/T/Cleanup\ At\ Startup/run 466235498.368.command.command ; exit;
/var/folders/m7/yf7p3vdj2mx0l9r7qb68rttc0000gn/T/Cleanup At Startup/run-466235498.368.command.command: line 3: bin/bash: No such file or directory
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.

[Process completed]

请注意,错误发生在我的两行代码中的第三行...

EN

回答 2

Stack Overflow用户

发布于 2015-10-11 14:00:12

为什么不从一开始就启动python脚本本身呢?您可以像这样在顶部添加shebang:

代码语言:javascript
复制
#! /user/bin/env python
... the rest of your python script here

然后只需给该脚本可执行的权限:

代码语言:javascript
复制
chmod +x nameofscript.py

然后像这样启动它:

代码语言:javascript
复制
./nameofscript.py

如果你不想让脚本依赖于环境,只需使用下面的shebang:

代码语言:javascript
复制
#! /usr/bin/python
票数 0
EN

Stack Overflow用户

发布于 2015-10-11 14:07:16

也许是因为shebang (或者hashbang)。关于what is (wiki)

代码语言:javascript
复制
#!bin/bash
  ^ 
python /Users/username/Desktop/IF.py

这意味着系统将使用bin/bash来运行此程序,但bin/bash表示path/bin/bash

例如,如果您在/home中,则系统将使用/home/bin/bash来运行此程序。

我认为你需要这个:

代码语言:javascript
复制
#!/bin/bash
python /Users/username/Desktop/IF.py

请注意,我将#!bin/bash替换为#!/bin/bash

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

https://stackoverflow.com/questions/33062039

复制
相关文章

相似问题

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