如何直接从 shell 运行我的 python 程序?

Ted*_*ong 10 linux bash python shell-script

我写了一个脚本。当它启动时,它不会停止,它会不断从 Internet 获取数据。我可以这样称呼它:

cd /User/Desktop/project/internetScanner/
python3 main.py start
Run Code Online (Sandbox Code Playgroud)

但我想直接从终端这样调用它,在目的地内:

internetScanner start
Run Code Online (Sandbox Code Playgroud)

我怎么能这样做?

slh*_*hck 27

您可能应该将文件重命名main.pyinternetScanner. *nix 上的扩展完全是可选的。这里应该没有关系。

mv main.py internetScanner
Run Code Online (Sandbox Code Playgroud)

然后,将以下行添加到此文件的开头:

#!/usr/bin/env python3
Run Code Online (Sandbox Code Playgroud)

这将确保当 shell 执行文件时,它将知道python3用来解释内容。这就是众所周知的舍邦。现在,使文件可执行:

chmod +x internetScanner
Run Code Online (Sandbox Code Playgroud)

您现在可以从内部运行您的程序/User/Desktop/project/internetScanner/

./internetScanner start
Run Code Online (Sandbox Code Playgroud)

您的程序将在前台运行并继续运行,直到您按下Ctrl- C。如果你不想这样,你也可以在后台启动程序,在命令后添加一个&符号:

./internetScanner start &
Run Code Online (Sandbox Code Playgroud)

这将使您的程序运行,但您可以继续使用您的 shell。这就是所谓的作业控制,并有关于它的一个简单的教程在这里

如果您现在希望能够从系统的任何位置运行该程序,您需要将该internetScanner目录添加到您的PATH什么是 PATH 和其他环境变量,我该如何设置或使用它们?