GNU/Linux >> Tutoriels Linux >  >> Linux

Instructions d'exécution des scripts Shell pour les débutants

Question :Quelles sont les choses fondamentales que je dois savoir pour exécuter un script shell ? De plus, lorsque j'exécute mon script shell, j'obtiens le message d'erreur "Autorisation refusée". Comment puis-je résoudre ce problème ?

Répondre  :Passons en revue les 4 choses fondamentales que vous devez savoir sur l'exécution d'un script shell.

1. Localisez l'exécutable du shell et donnez-lui comme she-bang # !

Identifiez le chemin complet de l'emplacement d'installation du shell.

$ which sh
/bin/sh

(or)

$ which ksh
$ which bash

Une fois que vous avez identifié l'emplacement de l'exécutable du shell, donnez-le comme shebang ( #! ) dans la première ligne du fichier shell-script.

$ vim helloworld.sh

#!/bin/sh
echo "Hello World!"

2. Attribuez l'autorisation d'exécution au fichier de script Shell

Si vous n'avez pas l'autorisation d'exécution sur le script, vous obtiendrez le message d'erreur "Autorisation refusée" comme indiqué ci-dessous.

$ ./helloworld.sh
bash: ./helloworld.sh: Permission denied

Attribuez l'autorisation d'exécution au fichier de script à l'aide de la commande chmod comme indiqué ci-dessous.

$ chmod u+x helloworld.sh

Si vous souhaitez donner l'autorisation d'exécution au groupe et à d'autres, procédez comme indiqué ci-dessous.

$ chmod 755 helloworld.sh

Remarque : Vous pouvez également faire cela comme un processus automatique. c'est-à-dire que chaque fois que vous ouvrez un fichier de script shell, les deux choses requises - ajouter le shebang et donner l'autorisation d'exécution peuvent être effectuées automatiquement à l'aide du plugin bash-support.vim. Reportez-vous à notre article précédent Faire de Vim votre IDE Bash à l'aide du plugin bash-support pour plus de détails.

3. Exécutez le script en spécifiant le chemin absolu ou relatif

Vous pouvez exécuter un script shell en utilisant le chemin absolu ou le chemin relatif.

Exécutez le script en spécifiant le chemin absolu comme indiqué ci-dessous.

$ /home/ramesh/scripts/helloworld.sh
Hello World!

Exécution du script en spécifiant le chemin relatif comme indiqué ci-dessous.

$ cd /home/ramesh/

$ ./scripts/helloworld.sh
Hello World!

(or)

$ cd /home/ramesh/scripts

$ ./helloworld.sh
Hello World!

4. Exécuter le script comme une commande Linux normale

Vous pouvez également exécuter un script sans spécifier le chemin complet, le chemin absolu ou le chemin relatif. Pour ce faire, ajoutez le répertoire où se trouve tout le script shell à votre variable d'environnement PATH comme indiqué ci-dessous.

Par exemple, une fois que j'ai ajouté /home/ramesh/scripts à la variable d'environnement PATH, je peux exécuter le script depuis n'importe quel répertoire.

$ export PATH=$PATH:/home/ramesh/scripts

$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/ramesh/scripts

$ cd /go/to/anydirectory

$ helloworld.sh
Hello World!

Linux
  1. Comment rechercher des fichiers à l'aide de regex dans le script shell Linux

  2. Script shell Linux pour la sauvegarde de la base de données

  3. Démarrage de la boucle à partir du deuxième élément - Script Shell

  4. Script de translittération pour le shell Linux

  5. Ansible empêchera-t-il l'exécution de 'rm -rf /' dans un script shell

Imprimer le temps d'exécution du script Shell sous Linux

Zorin OS pour les débutants Linux

convention de nommage pour le script shell et le makefile

Script bash :utilisation de la commande de script d'un script bash pour la journalisation d'une session

Répertoire courant du script shell ?

Itérer sur les lignes au lieu des mots dans une boucle for du script shell