In Windows SUA (System für Unix-Anwendungen) kann ich KSH nicht dazu bringen, Befehle auszuführen. Auch ls scheitert

1492
barlop

Es ist mir gelungen, Windows SUA (Subsystem für Unix-Anwendungen) in Windows 7 Ultimate zu installieren. Ich kann die Befehle c:\windows\sua\commondirekt von cmd.exe ausführen, aber ich möchte versuchen, Befehle von der Korn-Shell auszuführen. Ich sehe ksh im Startmenü, wenn ich ksh in das Suchfeld eingebe. Ich erhalte jedoch eine Fehlermeldung, wenn ich versuche, von dort Befehle auszuführen.

Ich sehe, wenn ich auf Start klicke und ksh eingebe, dann sehe ich ksh.bat in c: \ windows \ SUA \ common \ ksh.bat

Wenn ich ksh.bat starte und dann mache echo $PATH

Ich sehe Verzeichnisse einschließlich /dev/fs/C/Windows/SUA/common:/dev/fs/C/Windows/SUA/usr/lib

Und für das Protokoll habe ich ls.exehier

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

Aber wenn ich ksh.bat starte, versuche ich zu laufen ls, heißt es

$ ls /bin/ksh: ls: not found $ cd $ $ 
0
Diese Frage ist immer noch relevant, seit Sie herausgefunden haben, was in der anderen Frage lief? Ramhound vor 10 Jahren 0
@Ramhound Ja, es ist sehr relevant barlop vor 10 Jahren 0

1 Antwort auf die Frage

0
barlop

Ich sehe jetzt im Startmenü einen Eintrag "Subsystem für UNIX-basierte Anwendungen", aber seltsamerweise kam es nicht zu einem orangefarbenen Highlight (was bei neuen Einträgen normalerweise der Fall ist), also habe ich es nicht bemerkt. Hier wird es erweitert.

Wenn Sie Korn Shell von dort auswählen, wird es geöffnet. Es läuft die LinieC:\Windows\posix.exe /u /c /bin/ksh -l

Und dann funktioniert es

Während ksh.bat alleine läuft, funktioniert es nicht.

Der Unterschied zwischen dieser Befehlszeile und ksh.bat

Ist ksh.bat posix /u /c /bin/ksh %1 %2 %3 %4 %5 %6 %7 %8 %9 was, wenn Sie ksh.bat ohne Parameter ausführen, entspricht dies posix /u /c /bin/ksh also no -l(dh kein Strich el)

Während die Abkürzung korn die gleiche Zeile macht, jedoch mit -l.

Wenn Sie ksh -l ausführen, wird ksh.bat mit -l ausgeführt, und da c: \ windows \ posix.exe im Pfad enthalten ist, wird die Befehlszeile betrachtet, die von ksh.bat verwendet wird. l) dann dasselbe wie das, was die Verknüpfung macht, und funktioniert somit genauso wie die Verknüpfung.

Führen Sie entweder die Verknüpfung aus oder führen Sie die bat-Datei mit ksh -l aus

Vorherige verwandte Frage Wo sind die EXEs für das Subsystem für Unix-Anwendungen, damit ich sie verwenden kann?