У Windows SUA (System for Unix Applications), я не можу отримати KSH для запуску команд. Навіть не вдається


0

Мені вдалося встановити Windows SUA (Підсистема для Unix-додатків) у Windows 7 Ultimate. Я можу запускати команди в c:\windows\sua\common прямо з cmd.exe, але я хочу спробувати запустити команди з оболонки korn. Я бачу ksh у стартовому меню, якщо ввести ksh у вікно пошуку. Але я отримую помилку, коли я намагаюся запускати команди звідти.

Я бачу, якщо я натискаю кнопку "Пуск" і введіть ksh, то я бачу ksh.bat, який знаходиться в c: windows \ t

Коли я запускаю ksh.bat і потім роблю echo $PATH

Я бачу каталоги, у тому числі /dev/fs/C/Windows/SUA/common:/dev/fs/C/Windows/SUA/usr/lib

І для запису у мене є ls.exe тут

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

Але коли я запускаю ksh.bat тоді я намагаюся бігти ls, він говорить

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

Це питання все ще актуальне, оскільки ви зрозуміли, що відбувається в іншому?
Ramhound

@Ramhound так це дуже актуально
barlop

Відповіді:


0

Я бачу, що в меню "Пуск" є запис "Підсистема для UNIX-додатків", але, як не дивно, це не привело до помаранчевої підсвічування (які нові записи зазвичай роблять), тому я не помітив. Тут вона розширена.

enter image description here

Вибираючи Korn Shell звідти, відкриває його. Він виконує лінію C:\Windows\posix.exe /u /c /bin/ksh -l

А потім працює

В той час, як запущений ksh.bat один, не працює.

Різниця між командним рядком і ksh.bat

Є ksh.bat posix /u /c /bin/ksh %1 %2 %3 %4 %5 %6 %7 %8 %9 який, якщо ви запустите ksh.bat без параметрів, він прирівнюється до posix /u /c /bin/ksh тобто немає -l (тобто без тире)

У той час як ярлик корну виконує ту ж саму лінію, але з -l.

Якщо ви запустіть ksh -l, то буде запущено ksh.bat з -l і як c: windows posix.exe покривається в шляху, дивлячись на командний рядок, використовуваний ksh.bat, це (коли з - l) потім те ж саме, що і ярлик, і, таким чином, працює так само, як працює ярлик.

Отже, або запустіть з ярлика, або запустіть файл bat з ksh -l

Попереднє суміжне питання Де EXEs для підсистеми для Unix додатків, щоб я міг використовувати його?

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.