如何允许从所有目录访问文件?



我有一个python程序,它是一个解释器,用于我所做的一种语言。它被称为 cbc.py,它位于某个目录中。现在,我想知道如何调用它,以及任何目录中的sys.argv参数(如python3 cbc.py _FILENAME_TO_RUN_(。我已经对 .bashrc 文件和 PATH 变量进行了研究,但我找不到任何真正帮助我解决问题的东西。有人可以告诉我如何解决我的问题吗?

不幸的是,除非cbc.py位于目录中,否则您无法轻松地从目录中运行python3 cbc.py ...。但是您可以轻松地从任何目录运行cbc.py ...

编辑cbc.py,使第一行如下所示:

#!/usr/bin/env python3

(参考我应该放#!(shebang(在Python脚本中,它应该采取什么形式?

使 cbc.py 可执行:

chmod +x cbc.py

现在你应该能够在不键入 python3 的情况下运行它,但还没有从任何目录运行它:

./cbc.py ...

接下来,编辑~/.bashrc,使最后一行为:

export PATH:$PATH:...

在这里,代替...,放置包含cbc.py的目录的绝对路径。

描述它的标准方法是:

export PATH:$PATH:<absolute path to your script's directory>

例如(取决于您的操作系统(:

export PATH:$PATH:/home/caspian/cbcdir

或:

# this path has a directory with a space in it's name, so it must go in quotes
export PATH:$PATH:'/Users/CaspianAhlberg/Documents/Cbc Project'

或:

# this path has a directory with a space and a single quote in it's name,
# so it must go in double-quotes
export PATH:$PATH:"/Users/CaspianAhlberg/Documents/Cbc's Project"

或者,更荒谬的是:

# you can also "escape" funny characters using  instead of
# wrapping the entire string in quotes
export PATH:$PATH:/cygdrive/c/Users/Documents/Cbc Project

长话短说,不要在目录或文件名中放置空格或引号。

现在启动一个新的 bash shell 并尝试cbc.py ...

您需要先使脚本可执行,然后将其添加到 PATH 中。 如果你有你的 python 脚本在~/path/to/your/script/YOUR_SCRIPT_NAME

  • 在脚本顶部添加#!/usr/bin/python3
  • 使用sudo chmod a+x YOUR_SCRIPT_NAME为您的脚本提供可执行性能,
  • 编辑~/.bashrc以添加脚本路径,例如echo PATH="$HOME/path/to/your/script:$PATH" >> ~/.bashrc
  • 重新启动或重新登录或运行source ~/.bashrc
  • 现在,您可以通过YOUR_SCRIPT_NAME随时随地访问脚本。

相关内容

  • 没有找到相关文章

最新更新