web-dev-qa-db-fra.com

Puis-je changer de répertoire sur un lecteur Windows dans Ubuntu Bash on WSL?

Je suis un super débutant pour Ubuntu et j'ai essentiellement besoin d'Ubuntu pour un package Python. J'aimerais exécuter un fichier Python dans e:/username/folder1/folder2/python.py. J'ai essayé toutes les méthodes en ligne et la seule réponse est bash: cd./e: No such file or directory. Je ne suis pas sûr que ce soit à cause des fenêtres bash ou de virtualenv.

Lorsque j'utilise bash sous Ubuntu sous Windows, ls, le code VIRTUALENV_DIR apparaît. cd, il est écrit /home/username. Le cd .. etc change un peu le répertoire, mais pas un autre lecteur, ni le dossier que je voudrais qu'il trouve.

9
Stephanie

WSL stocke vos lecteurs Windows dans le dossier /mnt, avec le nom du lecteur en tant que sous-dossier. Par exemple, votre lecteur C:\ sera présent à /mnt/c/.

Gardant cela à l'esprit, vous pouvez basculer vers votre dossier spécifique comme suit:

cd /mnt/e/username/folder1/folder2
17
Kaz Wolfe

Oui, tu peux faire ça. j'ai utilisé shift + clic droit pour obtenir "Ouvrez Powershell ici", quel que soit le répertoire que vous voulez utiliser et exécutez la commande 'bash', puis exécutez-la comme vous le souhaitez. Cela revient à utiliser Ubuntu bash, car il utilise les mêmes packages Python dans Windows Powershell après l’utilisation de la commande 'bash'.

Remarque: Sous Windows 10, dernière mise à jour, peut-être en avril 2018, avec le mode WSL et le mode développeurs activés.

1
Sarang

Vous pouvez essayer ceci: cd E:/username/folder1/folder2/ et ensuite exécuter python python.py. Cela fonctionne toujours dans mon cas sur une machine Windows exécutant bash.

0
Mohit Singh

avec ce petit script, vous pouvez exécuter toutes les commandes du répertoire dans lequel se trouve actuellement votre Powershell. Cela ne fonctionne que si le lecteur est déjà monté sur/mnt/dans le sous-système. Cela ne fonctionne pas avec les ressources du réseau.

function Tux {$dl = (pwd).Path | wsl eval "cut -c 1 | tr 'A-Z' 'a-z'"; $wd = (pwd).Path | wsl eval "cut -d : -f 2 | tr '\\' '/' 2> /dev/null" ; wsl eval "cd '/mnt/$dl$wd' && eval '$args'"}

après l'avoir exécuté, vous pouvez l'utiliser comme ceci:

Tux vim test.txt
0
pt1997

Dans l'explorateur Windows, accédez à e:/username/folder1/folder2/,

tapez bashet appuyez sur Enterdans la barre d’adresse, une fenêtre bashavec un chemin dans e:/username/folder1/folder2/ apparaîtra.

Cela fonctionne également avec la commande cmdname__.

référence

0
Animeta