Page d'accueil » comment » Comment créer et exécuter des scripts de shell Bash sous Windows 10

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

    Avec l'arrivée du shell Bash de Windows 10, vous pouvez désormais créer et exécuter des scripts de shell Bash sous Windows 10. Vous pouvez également incorporer des commandes Bash dans un fichier de commandes 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

    Lors de l'écriture de scripts shell sous Windows, n'oubliez pas que les systèmes Windows et UNIX tels que Linux utilisent des caractères de «fin de ligne» différents dans les fichiers texte des scripts shell.

    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. Toutefois, 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 en cliquant sur Edition> Conversion EOL> Format UNIX / OSX..

    Cependant, vous feriez mieux d'écrire le script shell dans l'environnement Bash même. L'environnement Bash basé sur Ubuntu est fourni 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é sur un fichier nommé «myscript.sh» dans le répertoire de base de votre compte utilisateur. (Le caractère «~» représente votre répertoire personnel, le chemin complet est donc /home/nom_utilisateur/myscript.sh.)

    Commencez votre script shell avec la ligne:

    #! / bin / bash

    Entrez les commandes que vous souhaitez exécuter, chacune sur sa propre ligne. Le script exécutera chaque commande à son tour. Ajoutez un caractère "#" devant une ligne pour le traiter comme un "commentaire", ce qui vous aidera, vous et d'autres personnes, à comprendre le script, mais ne sera pas exécuté en tant que commande. Pour des astuces plus avancées, consultez un guide plus détaillé sur les scripts Bash sous Linux. Les mêmes techniques fonctionneront dans Bash sous 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 aux utilitaires du terminal Linux, exactement comme sur un système Linux typique..

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

    #! / bin / bash # définit la variable STRING STRING = "Hello World!" # affiche le contenu de la variable à l'écran echo $ STRING

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

    Rendre le script exécutable puis l'exécuter

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

    chmod + x ~ / myscript.sh

    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 dans le futur, ouvrez simplement le shell Bash et tapez le chemin d'accès au script..

    ~ / myscript.sh

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

    Comment travailler avec des fichiers Windows dans un script Bash

    Pour accéder aux fichiers Windows dans le script, vous devez spécifier leur chemin sous / mnt / c, pas leur chemin Windows. Par exemple, si vous souhaitez spécifier le fichier C: \ Users \ Bob \ Downloads \ test.txt, vous devez spécifier le chemin /mnt/c/Users/Bob/Downloads/test.txt. Consultez notre guide sur les 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

    Enfin, si vous souhaitez incorporer des commandes dans un fichier de commandes ou un script PowerShell, vous pouvez exécuter les commandes Bash directement à l'aide de la commande bash -c commander.

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

    bash -c "commande"

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

    Mettre à jour: Si plusieurs environnements Linux sont installés, vous pouvez utiliser la commande wslconfig pour choisir l’environnement Linux par défaut utilisé lors de l’exécution du programme. bash -c commander.


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

    Par exemple, vous pointez un raccourci sur " bash -c "~ / myscript.sh" ”Pour exécuter l'exemple de script ci-dessus. Vous pouvez également simplement exécuter cette commande à partir d'une fenêtre d'invite de commande ou PowerShell..