Después de usar Linux durante uno o dos meses, ahora sé lo que estoy haciendo.
Al crear programas, usando cualquier lenguaje, obviamente he estado usando código como este:
$ python test.py
Entonces, si quisiera test.py
leer un archivo determinado, tendría que usar:
$ python test.py something.file
Lo que me gustaría hacer ahora es intentar crear una aplicación de línea de comandos para poder usar
$ myapp something.file
Un programa como el python
in $ python test.py
o el nano
in$ nano program.pl
Pero, ¿por dónde empiezo a crear aplicaciones como éstas?Un poco de búsqueda en la web no me ha llevado a ninguna parte.
Si usted mismo puede decírmelo, sería genial, pero aceptaré fácilmente un montón de enlaces.
Estoy totalmente abierto si hay más de una manera, realmente no me importa en qué idioma (¡una excusa para aprender otro!) o lo que sea.
Respuesta1
Puede ejecutar scripts de Python haciéndolos ejecutables ( chmod +x test.py
) y creando #!/usr/bin/env python
la primera línea. Una vez que hagas eso, la ejecución test.py args
invocará a Python para ejecutar tu script. Leer acerca deel asuntoEs si quieres aprender más.
Respuesta2
En C, se ve así:
int main(int argc, char *argv[]) {
El argc es el número de argumentos. Tenga en cuenta que el nombre del programa/herramienta cuenta.
Los argumentos mismos terminan en el vector (o matriz) de argumentos, argv.
Luego está la parte complicada de escribir código para tratarlos de la forma prevista.
Luego compila con gcc. Usted especifica el nombre del programa con el -o
indicador (archivo de salida). Ejecute el archivo desde su directorio actual de esta manera: ./tool_name input_file_1 ... input_file_n
(o colóquelo en un directorio que aparezca cuando escriba echo $PATH
, luego podrá invocarlo desde cualquier lugar, es decir, sin el punto).
Respuesta3
Yo uso ir. Es un lenguaje compilado, multiplataforma, con la facilidad de programación de un lenguaje dinámico y soporte para concurrencia y comunicación.
No volveré a Python ya que es muy divertido desarrollar con Go.
http://golang.org/
https://github.com/languages/Go
Aquí tienes un programa sencillo que obtiene los argumentos utilizados en ese comando:
package main
import (
"fmt"
"flag"
)
func main() {
fmt.Println("Arguments: ", flag.Args())
}