Même si vous savez ce que vous faites, ce n’est pas forcément aussi simple qu’il semble. 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
Lorsque vous écrivez des scripts shell sous Windows, n'oubliez pas que les systèmes Windows et de type UNIX tels que Linux utilisent différents caractères de «fin de ligne» dans les fichiers texte des scripts shell.
En d’autres termes, cela signifie que vous ne pouvez pas écrire simplement un script shell dans le Bloc-notes. Enregistrez le fichier dans le Bloc-notes et Bash ne l’interprétera pas correctement. 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.
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/username/myscript.sh.)
#!/bin/bash
Entrez les commandes à 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 s'exécute pas 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’ya aucun moyen d’exécuter des programmes Windows à partir de l’environnement Bash. Vous êtes limité aux commandes de terminal et aux utilitaires Linux, exactement comme sur un système Linux typique.
Par exemple, utilisons simplement un script de base «hello world»:
#!/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 sur Entrée. Fermez l'éditeur en appuyant sur Ctrl + X.
Rendre le script exécutable puis l'exécuter
Vous souhaiterez 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
~/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 à 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 'command'
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 suffit de créer un raccourci comme d'habitude. Pour la cible du raccourci, utilisez la commande
bash -c
commande décrite ci-dessus et pointez-le sur 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.