Por onde começar a criar aplicativos CLI?

Por onde começar a criar aplicativos CLI?

Depois de usar o Linux por um ou dois meses, sei o que estou fazendo agora.

Ao criar programas, usando qualquer linguagem, obviamente tenho usado códigos como este:

$ python test.py

E então, se eu quisesse test.pyler um determinado arquivo, teria que usar:

$ python test.py something.file

O que eu gostaria de fazer agora é tentar criar um aplicativo de linha de comando, para que eu possa usar

$ myapp something.file

Um programa como o pythonin $ python test.pyou o nanoin$ nano program.pl

Mas onde posso começar a criar aplicativos como esses?Um pouco de pesquisa na web não me levou a lugar nenhum.

Se você mesmo puder me dizer, seria ótimo, mas aceitarei prontamente vários links.

Estou totalmente aberto se houver mais de uma maneira, realmente não me importo com qual idioma (uma desculpa para aprender outro!) Ou qualquer outra coisa.

Responder1

Você pode executar scripts python tornando-os executáveis ​​( chmod +x test.py) e criando #!/usr/bin/env pythona primeira linha. Depois de fazer isso, a execução test.py argsinvocará o python para executar seu script. Ler sobreShebangé se você quiser saber mais.

Responder2

Em C fica assim:

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

O argc é o número de argumentos. Observe que o nome do programa/ferramenta conta.

Os próprios argumentos terminam no vetor de argumentos (ou array), argv.

Depois, há a parte complicada de escrever código para lidar com eles da maneira pretendida.

Em seguida, compile com o gcc. Você especifica o nome do programa com o -osinalizador (outfile). Execute o arquivo de seu diretório atual assim: ./tool_name input_file_1 ... input_file_n(ou coloque-o em um diretório que aparece quando você escreve echo $PATH, então você pode invocá-lo de qualquer lugar, ou seja, sem o ponto).

Responder3

Eu uso o Go. É uma linguagem compilada, multiplataforma, com a facilidade de programação de uma linguagem dinâmica e suporte para simultaneidade e comunicação.

Não vou voltar para Python porque é muito engraçado desenvolver com Go.

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

Aqui você tem um programa simples que obtém os argumentos usados ​​nesse comando:

package main

import (
  "fmt"
  "flag"
)

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

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

informação relacionada