Dans Windows SUA (système pour les applications Unix), je ne peux pas demander à KSH d'exécuter des commandes. Même il échoue

J'ai réussi à installer Windows SUA (Subsystem for Unix Applications), dans Windows 7 Ultimate. Je peux exécuter les commandes dans c:\windows\sua\common directement à partir de cmd.exe mais je veux essayer d'exécuter des commandes à partir du shell korn. Je vois ksh dans le menu Démarrer si je tapez ksh dans la zone de recherche. Mais j'ai une erreur lorsque j'essaie d'exécuter des commandes à partir de là.

Je vois si je clique sur Démarrer et tapez ksh, alors je vois ksh.bat qui est dans c: \ windows \ SUA \ common \ ksh.bat

Lorsque je cours ksh.bat et que j'écoute echo $PATH

Je vois des répertoires, y compris /dev/fs/C/Windows/SUA/common:/dev/fs/C/Windows/SUA/usr/lib

Et pour mémoire, j'ai ls.exe ici

 C:\Windows\SUA\common>dir ls.exe<ENTER> 01/18/2008 05:40 AM 174,592 ls.exe 

Mais quand je cours ksh.bat alors j'essaie de lancer ls , il dit

 $ ls /bin/ksh: ls: not found $ cd $ $ 

Je vois maintenant dans le menu de démarrage qu'il y a une entrée "Sous-système pour les applications basées sur UNIX", mais par hasard, il n'a pas été mis en évidence avec une mise accent sur l'orange (ce que les nouvelles entrées font normalement), donc je ne l'ai pas remarqué. Ici, il est élargi.

Entrez la description de l'image ici

Choisir Korn Shell à partir de là, l'ouvre. Il exécute la ligne C:\Windows\posix.exe /u /c /bin/ksh -l

Et puis, ça fonctionne

Alors que l'exécution de ksh.bat seule, ne fonctionne pas.

La différence entre cette ligne de commande et ksh.bat

Est-ce que ksh.bat posix /u /c /bin/ksh %1 %2 %3 %4 %5 %6 %7 %8 %9 si vous exécutez ksh.bat sans paramètres, cela équivaut à posix /u /c /bin/ksh ie no -l (c'est-à-dire no dash el)

Alors que le short short korn, fait la même ligne mais avec -l.

Si vous exécutez ksh -l alors, cela fonctionnerait ksh.bat avec -l et comme c: \ windows \ posix.exe est couvert dans le chemin, en regardant la ligne de commande utilisée par ksh.bat, c'est (quand avec – L) puis le même que ce que le raccourci fait, et fonctionne ainsi comme le raccourci fonctionne.

Donc, soit courez à partir du raccourci, soit exécutez le fichier bat avec ksh -l

Question antérieure Où sont les EXE pour le sous-système pour les applications Unix afin que je puisse l'utiliser?