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

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

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

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

$ python test.py

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

$ python test.py something.file

我现在想做的,它尝试创建一个命令行应用程序,这样我就可以使用

$ myapp something.file

python类似in$ python test.pynanoin 的程序$ nano program.pl

但是我到底从哪里开始构建这样的应用程序呢?网上的一些拖网搜寻并没有让我一无所获。

如果你能亲自告诉我那就太好了,但我会很乐意接受一堆链接。

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

答案1

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

答案2

在 C 语言中,它看起来像这样:

int main(int argc, char *argv[]) {

argc 是参数的数量。请注意,程序/工具名称很重要。

参数本身最终出现在参数向量(或数组)argv 中。

然后是编写代码以按预期方式处理它们的棘手部分。

然后用gcc编译。您可以使用-o(outfile) 标志指定程序的名称。像这样从当前目录运行该文件:(./tool_name input_file_1 ... input_file_n或者将其放在写入时出现的目录中echo $PATH,然后您可以从任何地方调用它,即不带点)。

答案3

我用的是Go。它是一种跨平台的编译语言,具有动态语言的编程便利性,并且支持并发和通信。

我不会再回到 Python,因为用 Go 进行开发非常有趣。

http://golang.org/
https://github.com/languages/Go

这里有一个简单的程序,它获取该命令中使用的参数:

package main

import (
  "fmt"
  "flag"
)

func main() {
  fmt.Println("Arguments: ", flag.Args())
}

http://play.golang.org/p/1dpUT11-cc

相关内容