如何使shell脚本启动python脚本?

时间:2015-10-11 05:56:57

标签: python shell

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

我到目前为止得到了这个:

#!bin/bash
python /Users/username/Desktop/IF.py

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

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]

请注意错误发生在我有两行代码的第3行......

2 个答案:

答案 0 :(得分:0)

为什么不从一开始就启动python脚本本身?您可以在顶部添加一个shebang,如下所示:

#! /user/bin/env python
... the rest of your python script here

然后只给脚本提供可执行权限:

chmod +x nameofscript.py

然后就像这样启动它:

./nameofscript.py

如果您不希望脚本依赖于环境,请改用以下的shebang:

#! /usr/bin/python

答案 1 :(得分:0)

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

#!bin/bash
  ^ 
python /Users/username/Desktop/IF.py

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

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

我认为你需要这个:

#!/bin/bash
python /Users/username/Desktop/IF.py

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