Comment exécuter un script Bash sous Linux ?
Les scripts Bash, également appelés scripts shell, sont des outils puissants dans le monde de l'automatisation en ligne de commande. Ils vous permettent d'effectuer une série de tâches ou d'exécuter des commandes en écrivant des scripts pouvant être exécutés dans un terminal ou une interface de ligne de commande. Cependant, la question se pose souvent : comment exécuter un script Bash sous Linux ? Dans cet article, nous explorerons diverses méthodes d'exécution de scripts Bash et fournirons des informations précieuses sur les meilleures pratiques.
Table des matières
- La ligne Shebang :
- Utiliser bash ou sh pour exécuter le script Bash sous Linux
- Utiliser Source pour exécuter un script Bash sous Linux
- Rendre le script exécutable avec chmod pour exécuter le script Bash sous Linux
- Comment exécuter un script Bash sous Linux – FAQ
La ligne Shebang :
Avant d’aborder les méthodes d’exécution de scripts Bash, il est important de comprendre la ligne shebang. La ligne shebang, qui est la première ligne de votre script, indique l'interpréteur qui doit être utilisé pour exécuter le script. Pour les scripts Bash, cette ligne devrait généralement ressembler à ceci :
#!/bin/bash
Cette ligne informe le système que le script doit être interprété à l'aide du shell Bash. Même si certaines méthodes peuvent fonctionner sans cette ligne, c'est une bonne pratique de l'inclure dans votre script pour garantir la compatibilité.
Utiliser bash ou sh pour exécuter le script Bash sous Linux
C'est la manière la plus standard d'exécuter le script bash. Vous devez avoir installé git bash si vous utilisez Windows. Pour Linux et macOS, bash est installé par défaut. Dans cette méthode, nous tapons bash suivi du nom du fichier avec l'extension, c'est-à-dire sh dans ce cas. Dans un terminal, exécutez le code suivant en remplaçant le nom de fichier par le nom de fichier de votre script bash.
bash filename.sh
Ici, bash est un programme qui contient les environnements shell nécessaires pour exécuter le script à partir du shell bash. Cela exécutera donc le script de l'interpréteur bash.
Utilisation de la commande bash pour exécuter le script.
Nous pouvons également utiliser sh pour exécuter le script car il sera dirigé vers le shell par défaut dans l'environnement d'installation.
sh filename.sh
Utilisation de la commande sh pour exécuter le script bash.
À partir de l'exemple ci-dessus, nous avons pu exécuter un script bash en utilisant bash ainsi que la commande sh. Si vous n'êtes pas dans le même dossier/répertoire que le script, assurez-vous de spécifier le chemin relatif du script.
Utiliser Source pour exécuter un script Bash sous Linux
Cette méthode est assez simple pour exécuter un script bash, et toutes sont assez simples. Il suffit de taper source avant le nom du fichier/script avec une extension. Dans un terminal, exécutez le code suivant en remplaçant le nom de fichier par le nom de fichier de votre script bash.
source filename.sh
Le script sera simplement exécuté après avoir recherché le fichier. La commande source exécutera le script shell comme commande bash par défaut à condition que vous soyez dans le shell bash. Vous devez être dans le shell bash pour exécuter le script à l'aide de la commande source.
Utiliser Source pour exécuter un script bash
Sur la capture d'écran du script en cours d'exécution, nous pouvons voir que la source fonctionne exactement comme la commande bash ou sh. Le script ci-dessus est très basique, mais cela n'a pas d'importance tant qu'il est sans erreur et sans bug. De plus, vous devez également ajouter le chemin relatif ici si vous n'êtes pas dans le même répertoire que le script bash.
Rendre le script exécutable avec chmod> exécuter un script Bash sous Linux
Cette méthode vous permet d'exécuter un script Bash en tant qu'exécutable, ce qui signifie que vous pouvez l'exécuter depuis n'importe où dans votre environnement tant que vous disposez d'un shell Bash. Pour rendre le script exécutable, vous devez ajuster ses autorisations de fichier à l'aide du chmod> commande.
Tout d’abord, accédez au répertoire où se trouve votre script. Ensuite, exécutez la commande suivante pour changer le mode du fichier et le rendre exécutable :
chmod +x filename.sh
Le ' +x`> L'indicateur indique que le fichier doit être exécutable. Si vous utilisez Linux et que vous n'êtes pas l'utilisateur root, vous devrez peut-être utiliser ` sudo`> avant le ' chmod`> la commande pour l'autorisation.
Après avoir accordé l'autorisation d'exécution, vous pouvez exécuter le script avec la commande suivante, en supposant que vous vous trouviez dans le même répertoire que le script :
./filename.sh
Si vous n'êtes pas sur le même chemin que le script bash, assurez-vous de fournir le chemin relatif du fichier ou du script bash.
./pathToTheFile.sh
en utilisant chmod et en exécutant le script.
Exécuter un script à partir d'un chemin relatif.
Comment exécuter un script Bash sous Linux – FAQ
Comment exécuter un script Bash sous Linux ?
Pour exécuter un script Bash sous Linux, vous devez d'abord vous assurer que le script dispose des autorisations exécutables. Vous pouvez le faire en utilisant le `
chmod +x`>commande suivie du nom du script. Une fois le script exécutable, vous pouvez l'exécuter en tapant `./`>suivi du nom du script dans le terminal.
Puis-je exécuter un script Bash sans utiliser le terminal ?
Oui, vous pouvez exécuter un script Bash sans utiliser le terminal en double-cliquant sur le fichier de script si votre environnement de bureau le prend en charge. Vous devrez peut-être d'abord définir les autorisations exécutables du script. Vous pouvez également exécuter un script Bash indirectement à partir d'un autre programme ou script.
Comment exécuter un script Bash en tant qu’utilisateur spécifique sous Linux ?
Pour exécuter un script Bash en tant qu'utilisateur spécifique sous Linux, vous pouvez utiliser le `
sudo -u`>commande suivie du nom d'utilisateur et du chemin d'accès au script. Cela vous permet d'exécuter le script avec les autorisations de l'utilisateur spécifié.
Pourquoi est-ce que je reçois une erreur d’autorisation refusée lorsque j’essaie d’exécuter un script Bash ?
L’erreur d’autorisation refusée se produit lorsque le script ne dispose pas d’autorisations exécutables. Vous pouvez résoudre ce problème en utilisant le `
chmod +x`>commande pour accorder des autorisations exécutables au script. Vous pouvez également vous assurer que vous essayez d'exécuter le script à partir d'un répertoire dans lequel vous disposez des autorisations appropriées.
Puis-je exécuter un script Bash en arrière-plan ?
Oui, vous pouvez exécuter un script Bash en arrière-plan en ajoutant une esperluette (`
&`>) à la fin de la commande lors de l'exécution du script. Cela permet au script de s'exécuter de manière asynchrone et vous pouvez continuer à utiliser le terminal pendant que le script s'exécute en arrière-plan. De plus, vous pouvez utiliser des outils tels que `nohup`>pour exécuter des scripts détachés de la session de terminal.
Conclusion:
Dans cet article, nous avons abordé diverses méthodes pour exécuter des scripts Bash sous Linux et fourni les meilleures pratiques pour garantir une exécution fluide. En incluant une ligne shebang dans vos scripts et en choisissant la méthode appropriée à vos besoins, vous pouvez exploiter toute la puissance des scripts Bash pour automatiser les tâches et rationaliser votre flux de travail en ligne de commande. Que vous préfériez utiliser bash> , sh> , ou source> , ou rendre vos scripts exécutables avec chmod> , ces méthodes vous permettent d'exécuter des scripts Bash de manière efficace et efficiente dans un environnement Linux.