如何使用一个单词从命令行运行python脚本

时间:2017-04-12 01:41:21

标签: python bash command-line-interface .bash-profile

所以我想使用python包来创建一个CLI,但是我也想在我的用户帐户中的任何地方用一个简单的命令(如“myCli”)来调用CLI(或者系统范围内的灵活性)。

我目前的解决方案如下,但看起来非常h​​acky:

在中

export PATH="/Users/me/scripts:$PATH"

在bash_profile中(在mac上):

~/Desktop me$ hiPython
im python

这似乎有效

{{1}}

是否有一种不那么脆弱/危险的方式?

3 个答案:

答案 0 :(得分:3)

你需要做三件事。

  1. #!/usr/bin/python(或任何适当的解释路径)添加为脚本中的第一行
  2. chmod +x您的脚本将其标记为可执行文件
  3. 确保脚本位于PATH环境变量
  4. 中的目录中

    我建议确保其名称是唯一的,以避免与系统上的任何其他内容发生冲突。

答案 1 :(得分:1)

我不完全理解你的问题,但也许别名会起作用?

> alias myCli="python ~/LocationOfPythonFile/hiPython.py
> myCli
> im python

请参阅http://tldp.org/LDP/abs/html/aliases.html

答案 2 :(得分:1)

典型方法是使用#!表示法(将其称为“shebang”)。

创建一个名为hiPython的文件。使用chmod授予您执行权限,并确保它位于$PATH中列出的目录中(您似乎已知道如何执行这两个步骤)。在文件中,确保第一行以#!开头,然后指定应该将哪个解释器用于文件的其余部分:

#!/usr/bin/python
print("I'm Python")

为了灵活性,人们经常在这种情况下使用env

#!/usr/bin/env python
print("I'm Python")

因为它会在您当前的python找到第一个$PATH二进制文件,而不是python的硬编码版本/发行版。

注意:这不是Python独有的。您可以使用此方法将任何文件与您喜欢的任何可执行文件相关联。这有一些创造性的标签外用途,但通常用于将脚本与其解释器相关联。