Как я могу сделать следующее, используя терминал на OS X?
Создайте файл с именем .inputrc
в домашнем каталоге пользователя и поместите в него следующую строку:
set completion-ignore-case On
Как я могу сделать следующее, используя терминал на OS X?
Создайте файл с именем .inputrc
в домашнем каталоге пользователя и поместите в него следующую строку:
set completion-ignore-case On
Быстрый ответ
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-…
после этого.
Все, что вам нужно сделать, это:
echo "set completion-ignore-case On" >> ~/.inputrc
echo
просто выводит текст, переданный ему через обычный выходной канал (stdout)
>>
записывает вывод stdout из левой команды в правый файл, который в вашем случае ~/.inputrc
~/
совпадает с /home/your_username/