Как я могу сделать следующее, используя терминал на 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
команда записывает новое содержимое.)
Если вы используете первый подход (вместе с >>
) и обнаружите, что добавленная вами строка будет перенесена на предыдущую строку, например,
некоторые вещи здесь здесь есть еще кое -что:
Затем вам нужно отредактировать файл, чтобы исправить это. Это произошло бы, если бы последняя строка ранее существовавшего файла заканчивалась текстовым символом, а не символом новой строки (т. Е. Маркером конца строки). Это обычно для .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-…
команду после этого.
touch
команду;echo "…" >> ~/.inputrc
вполне достаточно.echo "…" >> ~/.inputrc
создаст файл, если он не существует. За исключением патологических случаев, таких~
как не существует, у вас нет разрешения на запись~
или файловая система заполнена; и в таких случаяхtouch
не поможет.touch
здесь совершенно лишнее.Все, что вам нужно сделать, это:
echo
просто выводит текст, переданный ему через обычный выходной канал (stdout)>>
записывает вывод стандартного вывода команды левой рукой к правой руке файл, который в вашем случае,~/.inputrc
~/
такой же как/home/your_username/
источник