Dans la mise à jour Creators, le shell Bash de Windows 10 vous permet désormais d'exécuter des binaires Windows et des commandes standard. Vous pouvez exécuter des programmes Linux et Windows à partir du même shell Bash, ou même incorporer des commandes Windows dans un script Bash
RELATED: Tout ce que vous pouvez faire avec le nouveau shell Bash de Windows 10
Voici quelques informations de base sur cette fonctionnalité:
cd
pour changer les répertoires de travailEn gardant cela à l'esprit, voyons comment exécuter un programme
ASSOCIÉ: Comment accéder à vos fichiers de bascule Ubuntu dans Windows (et votre lecteur système Windows dans Bash)
Pour exécuter un programme Windows, entrez le chemin d'accès au fichier .exe du programme dans le shell Bash. N'oubliez pas que votre lecteur Windows C: est disponible dans / mnt / c dans Bash. L'environnement Bash est également sensible à la casse, vous devez donc spécifier la bonne majuscule
Supposons que vous vouliez lancer l'utilitaire Ping situé dans C: Windows System32 PING.EXE. Vous devez exécuter la commande suivante:
/mnt/c/Windows/System32/PING.EXE
La commande suivante ne fonctionnerait pas car Bash respecte la casse:
/ mnt / c / windows /system32/ping.exe
Ceci est un peu plus compliqué si le chemin contient des caractères complexes comme des espaces et des crochets, comme les dossiers Program Files. Vous devez "échapper" les espaces, les parenthèses et autres caractères complexes en les préfixant avec un caractère ""
Par exemple, supposons que vous vouliez exécuter le programme Internet Explorer situé dans C: Program Files (x86) Internet Explorer iexplore.exe. Vous devez exécuter la commande suivante dans Bash:
/ mnt / c / Programme Files (x86 ) / Internet Explorer / iexplore.exe
Notez le "" devant l'espace et le support personnages. Ces caractères doivent être "échappés" ou Bash ne réalisera pas que les caractères font partie d'un chemin de fichier.
Le shell Bash passe directement les arguments aux commandes que vous exécutez.
Par exemple, si vous voulez faire un ping sur example.com, vous devez exécuter:
/mnt/c/Windows/System32/PING.EXE example.com
Ou, si vous voulez ouvrir le fichier des hôtes Windows dans le Bloc-notes, vous exécutez:
/mnt/c/Windows/System32/notepad.exe "C: Windows System32 drivers etc hosts"
Vous utilisez le chemin de fichier Windows standard lors du passage d'un chemin du fichier directement vers un programme Windows. C'est parce que Bash passe l'argument directement. Notepad.exe et d'autres programmes Windows attendent un chemin de fichier Windows
Certaines commandes Windows ne sont pas des fichiers .exe, mais sont intégrées à l'invite de commande elle-même. Par exemple, cela inclut la commandedir
que vous pouvez normalement exécuter dans une invite de commandes. Pour exécuter une telle commande, vous devez exécuter le binairecmd.exe
associé à l'invite de commande et lui passer la commande en tant qu'argument avec / C, comme ceci:
/ mnt / c / Windows /System32/cmd.exe / C commande
Par exemple, pour exécuter la commandedir
intégrée à l'invite de commandes, vous devez exécuter la commande suivante:
/ mnt / c / Windows / System32 / cmd.exe / C dir
L'environnement Windows Services pour Linux traite les exécutables Windows de la même manière que les binaires Linux. Cela signifie que vous pouvez ajouter un répertoire contenant des fichiers .exe au chemin, puis exécuter directement ces fichiers .exe. Par exemple, pour ajouter le répertoire System32 à votre chemin, vous devez exécuter:
export PATH = $ CHEMIN: / mnt / c / Windows / System32
Vous pouvez ensuite exécuter directement les fichiers Windows .exe situés dans le dossier System32, comme suit:
PING.exe example.com
notepad.exe
cmd.exe / C dir
La sortie d'une commande Windows peut être redirigée vers une commande Linux, et vice versa. Par exemple, vous pouvez utiliser la commandeipconfig.exe -all
pour afficher la liste de vos interfaces réseau et la rediriger vers la commande Linuxgrep
pour rechercher la sortie. Par exemple, pour lister toutes les informations sur votre connexion et rechercher des sections correspondant à "Adresse IPv4", vous devez exécuter:
/mnt/c/Windows/System32/ipconfig.exe -all | grep "Adresse IPv4"
C'est le processus de base. Ces commandes fonctionneront également lorsqu'elles seront intégrées dans un script Bash, ce qui vous permettra d'écrire un script Bash intégrant à la fois les commandes Windows et les utilitaires Linux. S'il fonctionne dans le shell Bash, il fonctionnera dans un script Bash.
Et, si vous voulez aller dans l'autre sens, vous pouvez utiliser la commande "bash -c" pour exécuter les commandes Bash à partir de l'invite de commandes Windows standard
Sept utilisations astucieuses pour les lampes Philips Hue
Les lampes Philips Hue sont cool, mais les utilisez-vous à leur plein potentiel? Bien sûr, vous pouvez les contrôler à partir de votre smartphone et les allumer de n'importe où, mais il y a tellement d'autres astuces utiles dont vous pouvez profiter. Voici quelques utilisations astucieuses pour votre installation Philips Hue.
Comment désactiver le «défilement naturel» d'Apple sur votre Mac
Vous ne savez pas pourquoi votre Mac défile lorsque vous faites glisser vos doigts sur le pavé tactile? Apple appelle cela "Natural Scrolling", et l'idée est de faire en sorte que le défilement fonctionne comme sur les écrans tactiles. Sur l'iPhone, vous faites glisser le contenu de haut en bas avec vos doigts.