Команды bash в OSX не чувствительны к регистру? Я набираю «which TR», и он показывает / usr / bin / TR, хотя там нет такого бинарника. То же самое для других двоичных файлов, когда они пишутся с заглавной буквы. Или Terminal.app, возможно, делает этот перевод? Как мне это отключить?
79
locale
и ignore-case-завершения / nocaseglobОтветы:
На самом деле это особенность файловой системы вашего диска, а не bash или Terminal.app.
HFS + (Мак файловой системы), как правило , выполнен с возможностью быть чувствительны к регистру , но случай , сохранение . Это означает , что файловая система будет рассматривать
foo
иFoO
такой же, но когда вы создаете новый файл , он будет помнить , какие буквы где капитализируются и которые не были.Когда вы форматируете диск с помощью HFS +, вы можете выбрать, должна ли файловая система учитывать регистр или нет. Если вы выбрали форматирование с использованием UFS (Unix FileSystem), оно всегда чувствительно к регистру, AFAIK.
Чтобы проверить, чувствителен ли диск к регистру, запустите:
Например:
Ищите
Name:
линию. Если он читает что-то вроде этого,Mac OS Extended (Case-sensitive, Journaled)
это означает, что он чувствителен к регистру. Если он просто читаетMac OS Extended
(безCase-sensitive
), то он сохраняет только регистр, но не учитывает регистр .источник
i
соответствующие прописные пунктирнаяİ
, в то время как без точки в верхнем регистреI
соответствует нижнему регистру Dotlessı
, но любое решение будет плохо. А как насчет немцаß
, часто с заглавной буквы с 2S
с? И акценты, которые часто пропускаются при использовании заглавных букв? И ... Чувствительность к регистру устраняет все эти головные боли.Взгляните на свою файловую систему, так как в HFS есть как регистрозависимые, так и регистрозависимые варианты. По умолчанию регистр не учитывается, в этом случае речь идет не о BASH, а о базовой файловой системе. Вы можете проверить это, отформатировав запасную флешку с учетом регистра, скопировав файлы, чтобы повторить тест и т. Д.
источник
Мне удалось исправить это с помощью одной строки, следуя http://blog.nickburwell.com/blog/2008/11/mac-os-x-terminal-case-insensitive-auto
источник
Bash определенно чувствителен к регистру.
Я просто набрал "whoami" в терминал, и кнопка блокировки заглавных букв была включена.
Я получил совершенно другой ответ от "WHOAMI".
Я вижу, что есть команда WHOAMI с «каким», но я не могу найти ее с «ls».
источник
whoami
программа. На самом деле это та же самая программаid
, но она проверяет, под каким именем она запускалась, и использует другой вывод (эквивалентныйid -un
), если запускается под именем «whoami». Эта проверка чувствительна к регистру. Сравните выводid
,WHOAMI
,WhOaMi
,WhoAmI
и т.д. Кроме того , сравните выводls -li /usr/bin/whoami
VSls -li /usr/bin/WHOAMI
, и обратите внимание , что номер индексного дескриптора (первое , перечисленных в выводе) одно и то же - они два разных способа задания точно такой же файл ,