Après avoir utilisé Linux pendant un mois ou deux, je sais ce que je fais maintenant.
Lors de la création de programmes, en utilisant n'importe quel langage, j'ai évidemment utilisé du code comme celui-ci:
$ python test.py
Et donc si je voulais test.py
lire un fichier donné, je devrais utiliser:
$ python test.py something.file
Ce que j'aimerais faire maintenant, il essaie de créer une application en ligne de commande, donc je peux utiliser
$ myapp something.file
Un programme comme le python
in $ python test.py
ou le nano
in$ nano program.pl
Mais où diable dois-je commencer à créer des applications comme celles-ci? Un peu de chalutage sur le Web ne m'a mené nulle part.
Si vous pouvez me le dire, ce serait bien, mais j'accepterai volontiers un tas de liens.
Je suis totalement ouvert s'il y a plus d'une façon, je ne me soucie pas vraiment de la langue (une excuse pour en apprendre une autre!) Ou quoi que ce soit.
la source
python
partie?python
.)Réponses:
Vous pouvez exécuter des scripts python en les rendant exécutables (
chmod +x test.py
) et en créant#!/usr/bin/env python
la première ligne. Une fois que vous faites cela, l'exécutiontest.py args
invoquera python pour exécuter votre script. Lisez à propos de shebang si vous voulez en savoir plus.la source
$ test.py 30
a donné une erreur de bash:-bash: test.py: command not found
. Merci pour votre aide jusqu'à présent!$PATH
. Soit utiliser un chemin, comme/path/to/test.py
ou./test.py
si vous êtes/path/to
déjà dans , soit ajouter/path/to
à votre$PATH
. Il existe de nombreuses questions en double sur ce site à propos de ce dernier.$PATH
, laissez de côté les fins de fichier comme.py
.#!/usr/bin/env python
en haut de votre script avant de pouvoir supprimer l'extension .py. Mais tout script contenant cette invocation ou une autre similaire (par exemple#!/bin/sh
pour les scripts shell) peut être nommé sans extension. Cela n'a rien à voir avec le fait que ce soit dans votre PATH ou non..EXE
et.COM
comptent. Cependant, la raison derrière la suppression de l'extension est que les exécutables génériques devraient être simplement des exécutables génériques. Le sens de cette tautologie est que les utilisateurs veulent juste la fonctionnalité et ne devraient pas avoir besoin de savoir ou de se soucier si c'est Perl ou Python ou sh ou bash ou awk etc. - c'est un détail d'implémentation généralement non pertinent. Et, faire un script exécutable et ajouter un shebang en fait un exécutable générique.En C, cela ressemble à ceci:
L'argc est le nombre d'arguments. Notez que le nom du programme / outil compte.
Les arguments eux-mêmes se retrouvent dans le vecteur d'argument (ou tableau), argv.
Ensuite, il y a la partie délicate de l'écriture de code pour les traiter de la manière souhaitée.
Compilez ensuite avec gcc. Vous spécifiez le nom du programme avec l'
-o
indicateur (outfile). Exécutez le fichier à partir de son répertoire actuel comme ceci:./tool_name input_file_1 ... input_file_n
(ou placez-le dans un répertoire qui apparaît lorsque vous écrivezecho $PATH
, alors vous pouvez l'invoquer de n'importe où, c'est-à-dire sans le point).la source
J'utilise Go. Il s'agit d'un langage compilé, multiplateforme, avec la facilité de programmation d'un langage dynamique et la prise en charge de la concurrence et de la communication.
Je ne reviens pas à Python car c'est très drôle de développer avec Go.
http://golang.org/
https://github.com/languages/Go
Ici, vous avez un programme simple qui obtient les arguments utilisés dans cette commande:
http://play.golang.org/p/1dpUT11-cc
la source