20

Как я могу сделать следующее, используя терминал на OS X?

Создайте файл с именем .inputrc в домашнем каталоге пользователя и поместите в него следующую строку:

set completion-ignore-case On

2 ответа2

26

Быстрый ответ

touch ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc

объяснение

Сначала создайте файл:

touch ~/.inputrc

Затем добавьте содержимое в файл:

echo "set completion-ignore-case On" >> ~/.inputrc

touch создает пустой файл (при условии, что файл ~/.inputrc еще не существует). echo записывает текст в "стандартный вывод" (сокращенно "stdout"), который обычно является вашим экраном, но из-за перенаправления (>>) вывод перенаправляется в ~/.inputrc . Эта настройка добавит строку в файл.

Если ~/.inputrc уже существует, и вы хотите стереть (закрыть) его содержимое, а затем записать в него строку (т. Е. Создать файл только с этой строкой текста), выполните:

echo "set completion-ignore-case On" > ~/.inputrc

Одиночная стрелка (>), то есть символ "больше чем", указывает echo создать файл с только заданным текстом в качестве содержимого файла вместо записи содержимого в конец файла. (На самом деле, echo не создает файл; оболочка создает файл, удаляя любое существующее содержимое, а команда echo записывает новое содержимое.)


Если вы используете первый подход (с >>), и вы обнаружите, что добавленная вами строка будет перенесена на предыдущую строку, например,

some stuff here
some more stuff hereset completion-ignore-case On

Затем вам нужно отредактировать файл, чтобы исправить это. Это произошло бы, если бы последняя строка ранее существующего файла заканчивалась текстовым символом, а не символом "новой строки" (т. Е. Маркером конца строки). Это общее для .TXT в Windows, но редко встречаются в * nix.

Если вы как-то заранее понимаете, что ваш файл .inputrc имеет уже существующее содержимое, которое не заканчивается символом новой строки, вам следует использовать вместо этого следующее выражение echo :

echo -e "\nset completion-ignore-case On" >> ~/.inputrc

\n перед фразой интерпретируется как символ новой строки, поэтому новая строка добавляется после предыдущего содержимого и перед новым содержимым, которое вы хотите добавить.

Или, немного больше печатать, но гораздо более читабельным,

echo "" >> ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc

или же

(echo ""; echo "set completion-ignore-case On") >> ~/.inputrc

которые делают то же самое; т.е. предоставить недостающий символ новой строки в существующий текст, а затем добавить команду set completion-… после этого.

1

Все, что вам нужно сделать, это:

echo "set completion-ignore-case On" >> ~/.inputrc 

echo просто выводит текст, переданный ему через обычный выходной канал (stdout)

>> записывает вывод stdout из левой команды в правый файл, который в вашем случае ~/.inputrc

~/ совпадает с /home/your_username/

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .