从哪里开始创建 CLI 应用程序?

ACa*_*ter 8 command-line application

使用linux一两个月后,我知道我现在在做什么。

在使用任何语言创建程序时,我显然一直在使用这样的代码:

$ python test.py
Run Code Online (Sandbox Code Playgroud)

因此,如果我想test.py读取给定的文件,则必须使用:

$ python test.py something.file
Run Code Online (Sandbox Code Playgroud)

我现在想做什么,它尝试创建一个命令行应用程序,所以我可以使用

$ myapp something.file
Run Code Online (Sandbox Code Playgroud)

pythonin$ python test.pynanoin 之类的程序$ nano program.pl

但是我到底从哪里开始构建这样的应用程序呢?一点网络拖网让我无处可去。

如果你能自己告诉我那会很棒,但我会欣然接受一堆链接。

如果有不止一种方式,我完全开放,我真的不介意什么语言(学习另一种语言的借口!)或其他什么。

jw0*_*013 15

您可以通过将 Python 脚本设为可执行 ( chmod +x test.py) 并制作#!/usr/bin/env python第一行来运行它们。一旦你这样做了,运行test.py args将调用 python 来运行你的脚本。如果您想了解更多信息,请阅读shebang

  • @ACarter 那是因为它不在您的 `$PATH` 中。要么使用路径,比如 `/path/to/test.py` 或 `./test.py`,如果你已经在 `/path/to` 中,或者将 `/path/to` 添加到你的 `$PATH` . 这个网站上有很多关于后者的重复问题。 (8认同)
  • 需要明确的是,与 Windows 不同,扩展在 Unix 世界中并不重要。像`.EXE`和`.COM`这样的扩展名很重要。但是,删除扩展名的基本原理是通用可执行文件应该只是通用可执行文件。这个同义反复的意思是用户只想要功能,不需要知道或关心它是 Perl 还是 Python 或 sh 或 bash 或 awk 等 - 这是一个几乎不相关的实现细节。并且,使脚本可执行并添加shebang 使其成为通用可执行文件。 (2认同)