2017-01-31 11 views
0

Я использую mksh (оболочка Korn Shell) в Windows 10. Я привык к старому UWin ksh, не заботясь о случае на Win7, и несколько раз спотыкался когда «LS» не видит файл из-за корпус:как сделать совпадение имени файла в mksh нечувствительным

PC> ls *old 
    ls: cannot access '*old': No such file or directory 
    PC> ls *OLD 
    filename.OLD testing.OLD 

Я пытался «установить Автозаполнение игнорируемого случай на», «верстать -l», «shopt -s nocaseglob» и аналогичный Баш -измы. Что будет работать для ksh?

Примечание: Это не запрос на нечувствительность к регистру в регулярных выражениях. Thanks

ответ

1

mksh разработчик здесь.

Этого не произойдет (особенно, поскольку файловые системы обычно чувствительны к регистру, и их можно настроить даже на Windows/NT и Mac OSX).

Вы можете без задержек заблокировать регистр с ls *.[Oo][Ll][Dd], но все.

+0

Спасибо, что ответили так быстро! Но я не понимаю: другие оболочки, работающие поверх Windows (например, старые ksh, среди прочих), не учитывают чувствительность к регистру. Почему «Этого не произойдет»? Потому что спроса недостаточно или потому что это слишком сложно? – murspieg

+0

Одна из самых сильных сторон «mksh» заключается в том, что она ведет себя «последовательно» на всех поддерживаемых операционных средах **. Это означает, что никакого специального лечения (почти, есть Android-, Plan 9- и MirBSD-специфические причуды, которые не влияют на оболочку, хотя). Например, mksh в Windows или OS/2 также не будет использовать окончания строки CRLF, что приведет к максимальной совместимости с сценарием (однако, тем не менее, развивается «mksh-os2» fork). • Кроме того, вы, скорее всего, не используете mksh для Windows, но либо на Cygwin, либо на Ubuntu-on-Windows; оба являются средами Unix. – mirabilos

+0

Понял. (На самом деле, я запускаю kw UWin, потому что предпочитаю его параметры окна для вставки.) Спасибо, что нашли время ответить. – murspieg