2017-09-27 4 views
0

Je tente d'exécuter un script ruby ​​dans un fichier .txt à partir de la ligne de commande. Si j'utilise la commande ruby ​​avant d'exécuter la commande, la sortie est ce qui était souhaité, par ex.Comment exécuter un fichier .txt qui a un script Ruby, sans utiliser la commande ruby ​​dans la ligne de commande

ruby file_name.txt 10 40 

Comment pourrais-je exécuter la même commande sans avoir à utiliser la commande ruby?

+0

Vous pouvez définir le drapeau "exécutable" sur votre fichier et ajouter une ligne de shebang appropriée au-dessus, mais ce serait assez bizarre. Personne ne s'attend à des fichiers '.txt' exécutables. (Au _least_, en faire un fichier '.rb') –

+0

S'il vous plaît partager le script que vous souhaitez exécuter, je suis curieux de voir une telle exigence. –

+0

@SergioTulentsev - Oui, j'ai fait des recherches sur le net et je n'ai pas encore trouvé la solution. Lorsque vous mentionnez le drapeau "exécutable", voulez-vous dire cela? '#!/usr/bin/env ruby' Parce que, je l'ai inclus dans le fichier et cela ne fait aucune différence lorsque j'essaie d'exécuter la commande. – AshNaz87

Répondre

0

Si vous utilisez un unix, placez un #!/usr/bin/ruby en haut de celui-ci et le shell bash l'exécutera. Si vous utilisez Windows, je crois que vous devez utiliser le suffixe correct, .rb ou .rbw.

+0

Je suis sur un Mac et en utilisant Zsh. Ruby se trouve dans ce chemin '/ usr/local/opt/rbenv/shims/ruby' que j'ai remplacé par celui que vous avez fourni. Pas de chance jusqu'ici – AshNaz87

+0

cela fonctionne quand j'utilise le shell Bash, mais pas avec Zsh. Si vous connaissez la réponse, je serais très reconnaissant! – AshNaz87

+0

Ah! C'est alors plus une question de zsh qu'une question de rubis, car ce comportement est vrai des lignes de shebang à ruby, python, etc. Je ne sais pas assez zsh pour savoir si ce que j'ai googlé était la "bonne" approche ou ne pas. Pardon! – Sam