Comment créer et exécuter des scripts Shell Bash sous Windows 10

  • Chris Hoffman

    @chrisbhoffman

  • Mise à jour le 7 mars 2018 à 14h31 HAE

Avec l’arrivée du shell Bash de Windows 10, vous pouvez désormais créer et exécuter des scripts shell Bash sur Windows 10. Vous pouvez également incorporer des commandes Bash dans un fichier batch Windows ou un script PowerShell.

Même si vous savez ce que vous faites, ce n’est pas nécessairement aussi simple qu’il y paraît. Windows et UNIX utilisent des caractères de fin de ligne différents, et le système de fichiers Windows est accessible à un emplacement différent dans l’environnement Bash.

Comment écrire un script Bash sur Windows 10

CONNEXES : Comment installer et utiliser le shell Bash Linux sur Windows 10

Lors de l’écriture de scripts shell sur Windows, gardez à l’esprit que Windows et les systèmes de type UNIX comme Linux utilisent différents caractères de « fin de ligne” dans les fichiers texte des scripts shell.

Publicité

En d’autres termes, cela signifie que vous ne pouvez pas simplement écrire un script shell dans le bloc-notes. Enregistrez le fichier dans le bloc-notes et il ne sera pas interprété correctement par Bash. Cependant, vous pouvez utiliser des éditeurs de texte plus avancés – par exemple, Notepad++ vous permet de donner à un fichier des caractères de fin de ligne UNIX en cliquant sur Modifier > Conversion EOL >Format UNIX/ OSX.

Cependant, il vaut mieux simplement écrire le script shell dans l’environnement Bash lui-même. L’environnement Bash basé sur Ubuntu est livré avec les éditeurs de texte vi et nano. L’éditeur vi est plus puissant, mais si vous ne l’avez jamais utilisé auparavant, vous voudrez peut-être commencer par nano. C’est plus facile à utiliser si vous êtes nouveau.

Par exemple, pour créer un script bash dans nano, vous devez exécuter la commande suivante dans bash:

nano ~/myscript.sh

Cela ouvrirait l’éditeur de texte Nano pointé vers un fichier nommé »myscript.sh  » dans le répertoire personnel de votre compte utilisateur. (Le caractère ”~ » représente votre répertoire personnel, donc le chemin complet est /home/username/myscript.sh .)

Démarrez votre script shell avec la ligne:

#!/bin/bash

CONNEXE: Le Guide du débutant sur les scripts Shell: Les bases

Publicité

Entrez les commandes que vous souhaitez exécuter, chacune sur sa propre ligne. Le script exécutera chaque commande à tour de rôle. Ajoutez un caractère ”# » avant une ligne pour le traiter comme un « commentaire”, quelque chose qui vous aide, vous et d’autres personnes, à comprendre le script mais qui n’est pas exécuté en tant que commande. Pour des astuces plus avancées, consultez un guide plus détaillé des scripts Bash sous Linux. Les mêmes techniques fonctionneront dans Bash sur Ubuntu sous Windows.

Notez qu’il n’y a aucun moyen d’exécuter des programmes Windows à partir de l’environnement Bash. Vous êtes limité aux commandes et utilitaires de terminaux Linux, tout comme vous le feriez sur un système Linux typique.

Par exemple, utilisons simplement un script de base « hello world” comme exemple ici:

#!/bin/bash # set the STRING variable STRING="Hello World!" # print the contents of the variable on screen echo $STRING

Si vous utilisez l’éditeur de texte Nano, vous pouvez enregistrer le fichier en appuyant sur Ctrl + O puis Enter. Fermez l’éditeur en appuyant sur Ctrl+X.

Rendre le Script exécutable, puis l’exécuter

Vous voudrez probablement le rendre exécutable pour pouvoir l’exécuter plus facilement. Sous Linux, cela signifie que vous devez donner au fichier de script l’autorisation exécutable. Pour ce faire, exécutez la commande suivante dans le terminal, en la pointant vers votre script :

chmod +x ~/myscript.sh

Publicité

Pour exécuter le script, vous pouvez maintenant simplement l’exécuter dans le terminal en tapant son chemin. Chaque fois que vous souhaitez lancer le script à l’avenir, ouvrez simplement le shell Bash et tapez le chemin d’accès au script.

~/myscript.sh

(Si le script est dans le répertoire courant, vous pouvez l’exécuter avec. /myscript.sh )

Comment Travailler Avec des fichiers Windows dans un script Bash

CONNEXES: Comment accéder à Vos fichiers Ubuntu Bash sous Windows (et à votre lecteur système Windows sous Bash)

Pour accéder aux fichiers Windows dans le script, vous devrez spécifier leur chemin sous /mnt/c, pas leur chemin Windows. Par exemple, si vous souhaitez spécifier le C:\ Utilisateurs \Bob\ Téléchargements \test.fichier txt, vous devez spécifier le fichier /mnt/c/Users/Bob/Downloads/test.chemin txt. Consultez notre guide des emplacements de fichiers dans le shell Bash de Windows 10 pour plus de détails.

Comment incorporer des Commandes Bash dans un script Batch ou PowerShell

CONNEXES : Comment Définir Votre distribution Linux par défaut sur Windows 10

Enfin, si vous avez un fichier Batch ou un script PowerShell existant dans lequel vous souhaitez incorporer des commandes, vous pouvez exécuter des commandes Bash directement en utilisant la commande bash -c.

Publicité

Par exemple, pour exécuter une commande Linux dans une invite de commandes ou une fenêtre PowerShell, vous pouvez exécuter la commande suivante :

bash -c "command"

Cette astuce vous permet d’ajouter des commandes Bash dans des fichiers batch ou des scripts PowerShell. La fenêtre shell Bash apparaîtra lorsqu’une commande Bash est en cours d’exécution.

Mise à jour : Si plusieurs environnements Linux sont installés, vous pouvez utiliser la commande wslconfig pour choisir l’environnement Linux par défaut utilisé lorsque vous exécutez la commande bash -c.

Pour créer un raccourci vers un script Bash à partir de Windows, créez simplement un raccourci comme d’habitude. Pour la cible du raccourci, utilisez la commande bash -c que nous avons décrite ci-dessus et pointez-la sur le script Bash que vous avez créé.

Publicité

Par exemple, vous pointeriez un raccourci sur «  » pour exécuter l’exemple de script ci-dessus. Vous pouvez également exécuter cette commande à partir d’une invite de commande ou d’une fenêtre PowerShell.

Chris Hoffman
Chris Hoffman est rédacteur en chef de How-To Geek. Il écrit sur la technologie depuis plus d’une décennie et a été chroniqueur sur PCWorld pendant deux ans. Chris a écrit pour le New York Times, a été interviewé en tant qu’expert en technologie sur des chaînes de télévision comme NBC 6 à Miami et son travail a été couvert par des médias comme la BBC. Depuis 2011, Chris a écrit plus de 2 000 articles qui ont été lus près d’un milliard de fois — et c’est juste ici à How-To Geek.Lire la Bio complète « 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *