Exécuter un fichier exécutable sur le terminal


9

Je suis nouveau sur Ubuntu et j'y suis actuellement en raison d'une affectation. Je voudrais poser quelques questions:

  1. Comment créer une nouvelle commande pour exécuter un script shell? Par exemple, lorsque vous tapez passwdsur terminal, il exécute le fichier exécutable sur /usr/bin/passwd. Comment puis-je le rendre identique à mon fichier?

  2. Comment puis-je changer mon script shell en un fichier exécutable comme le passwd?

Réponses:


13

Votre script devrait ressembler à:

#!/bin/bash

passwd

Enregistrez-le dans un fichier, disons password.shou simple password, puis rendez-le exécutable à l'aide des commandes suivantes dans le terminal:

cd /path/to/password.sh  #or cd /path/to/password
chmod +x password.sh     #or chmod +x password

Pour l'exécuter à partir du terminal, utilisez simplement la commande suivante:

./password.sh            #or ./password

ou

/path/to/password.sh     #or /path/to/password

Pour l'exécuter uniquement en utilisant:

password.sh              #or password

vous devez ajouter le chemin du script au CHEMIN. Voir Comment ajouter un répertoire au CHEMIN? dans ce sens.


Je veux l'exécuter sans la partie "./". C'est possible?
Inconnu

Je suis désolé, j'ai oublié un autre critère qui est que je veux aussi utiliser le ".sh". Cela signifie que je veux exécuter mon fichier avec uniquement le nom de fichier sur le terminal. Par exemple: passwd
Unknown

@Guest Ok, enregistrez le script avec le nom password. Cela ne pose aucun problème.
Radu Rădeanu

Cool. Je vais l'essayer bientôt. Merci beaucoup pour votre aide.
Inconnu

1
@geirha Wake up! Un fichier avec .shextension est principalement associé à un script conçu pour s'exécuter à l'invite de commande UNIX / LINUX et terminer. Il n'y a aucun problème si d'autres types de fichiers ont la même extension ou si vous ne souhaitez pas utiliser une extension pour ce type de fichier.
Radu Rădeanu
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.