В Windows SUA(Система для приложений Unix) я не могу заставить KSH запускать команды. Даже Ls не удается

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

Я вижу, нажимаю ли я кнопку "Пуск" и набираю ksh, тогда я вижу файл ksh.bat, находящийся в каталоге c:\windows\SUA\common\ksh.bat

Когда я запускаю 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
$
$

1 ответ

Решение

Теперь я вижу, что в меню "Пуск" есть пункт "Подсистема для приложений на основе UNIX", но, как ни странно, в нем не было оранжевого выделения (что обычно делают новые записи), поэтому я этого не заметил. Здесь это расширено.

введите описание здесь

Выбрав Korn Shell оттуда, открывает его. Это бежит линия C:\Windows\posix.exe /u /c /bin/ksh -l

И тогда LS работает

Принимая во внимание, что запуск 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 (т.е. нет тире эль)

В то время как ярлык korn выполняет ту же строку, но с -l.

Если вы запустите ksh -l, то это будет запускать ksh.bat с -l и, поскольку путь c: \ windows \ posix.exe указан в пути, и, глядя на командную строку, используемую ksh.bat, это так (если с - l) то же самое, что делает ярлык, и, таким образом, работает так же, как ярлык работает.

Итак, либо запустите из ярлыка, либо запустите файл bat с помощью ksh -l

Предыдущий связанный вопрос Где находятся EXE-файлы для подсистемы для приложений Unix, чтобы я мог их использовать?

Другие вопросы по тегам