使用linux一两个月后,我知道我现在在做什么。
当使用任何语言创建程序时,我显然一直在使用这样的代码:
$ python test.py
因此,如果我想test.py
读取给定的文件,我必须使用:
$ python test.py something.file
我现在想做的,它尝试创建一个命令行应用程序,这样我就可以使用
$ myapp something.file
python
类似in$ python test.py
或nano
in 的程序$ 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())
}