Как сделать так, чтобы почти все управление файлами Linux, такие как поиск, автозаполнение и т. Д., Не чувствительно к регистру, но его команда оболочки / Bash копировала и перемещала команды 'cp', 'mv', чтобы она чувствительна к регистру?
Вы упомянули, что нашли файлы и автозавершение как [1 121] примеры из где Вы требуете нечувствительности к регистру, но даже если это только [1 122] вещи, которые нечувствительны к регистру - а именно, эти find
команда и заполнение клавишей Tab Вашей оболочки - можно получить почти весь эффект наличия большинство действия, которые Вы выполняете от оболочки быть нечувствительными к регистру, когда Вы хотите, чтобы они были.
причина состоит в том, что существует три главных ситуации, где Вы вводите имя файла в оболочке:
find
для этого, можно просто сказать этому искать нечувствительно к регистру. Обычно это состоит из [1 144] замена эти -name
тест с эти -iname
тест. , Хотя /bin/sh
в Ubuntu обеспечивается dash
, пользовательская оболочка по умолчанию - та, Вы добираетесь, когда Вы входите в систему неграфически или открываетесь, терминал - bash
. Большинство пользователей Ubuntu использует bash
. Так как это - самая популярная оболочка в Ubuntu, и Вы отметили этот вопрос удар , я предполагаю, что Вы используете его. Обратите внимание, что способ, которым Вы сделали бы другую оболочку (такой как [1 110]) использует нечувствительное к регистру заполнение клавишей Tab, обычно отличается (и некоторые оболочки не могут, или даже не иметь заполнения клавишей Tab вообще).
способ, которым я рекомендую Вам, делает bash
, работают, нечувствительное к регистру заполнение клавишей Tab является первым к [1 127] попытка он в в настоящее время рабочей оболочке путем выполнения команды:
bind 'set completion-ignore-case on'
После выполнения той команды, и названия команд и названия их аргументов имени файла подвергаются нечувствительному к регистру заполнению клавишей Tab. Хотя это делает , применяются в командах как [1 112] и mv
, это только происходит при нажатии Вкладки для выполнения завершения. Независимо от того, что текст появляется в команде, пишете ли Вы это, или производится заполнением клавишей Tab, текст, из которого анализируются аргументы команде. Поэтому Вы всегда имеете полный все же эффективный управление того, что и не нечувствительно к регистру.
я не утверждаю, что это - единственное или даже обязательно идеальное решение, но это - довольно общее и безопасное решение. (Вы могли бы в конечном счете хотеть настроить заполнение клавишей Tab далее путем записи пользовательских правил для команд, где Вы не хотите, чтобы оно было нечувствительно к регистру.)
После того, как Вы испытываете нечувствительное к регистру заполнение клавишей Tab и решаете, Вы хотите его на все время , можно включить его постоянно - или пока Вы не решаете отменить изменение - путем добавления того же самого bind
строка в конец Вашего ~/.bashrc
файл. Как [1 118] init3 говорит , можно сделать это или с командой оболочки или в текстовом редакторе:
echo "bind 'set completion-ignore-case on'" >> ~/.bashrc
Или просто добавляют строку с помощью любимого текстового редактора. Перезапустите свою сессию удара и наслаждайтесь.
(Это от ответа init3 до [1 119], я могу сделать автозавершение Вкладки нечувствительным к регистру в Bash? , Что вопрос показывает некоторые другие способы включить нечувствительное к регистру заполнение клавишей Tab в [1 116], если Вам интересно.)