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?

Inconnue
la source

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.

Radu Rădeanu
la source
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