Скрытые функции Bash

72
задан 7 revs, 3 users 46% 23 May 2017 в 12:17
поделиться

33 ответа

У меня есть псевдоним r = 'fc-s' , и я считаю его очень полезным в некоторых ограниченных случаях. Чтобы запустить последнюю команду, просто введите r и нажмите Enter, и все. Конечно, это само по себе не очень полезно, потому что стрелка вверх делает то же самое. Но вы можете использовать r для выполнения предыдущей команды с заменами. Допустим, вашей последней командой была длинная команда, компилирующая какой-то файл:

$ gcc -c <file_name>.c <lots of options> -o <file_name>.o

Теперь вы хотите скомпилировать другой файл с теми же параметрами и иметь соответствующий файл .o :

$ r <file_name>=<new_file>

сделает это. Вам не нужно использовать стрелку вверх, переходите в нужные места и затем заменяйте их вручную. Это можно повторить несколько раз, так что вы можете сделать следующее:

$ r <new_file>=<other_file>

Конечно, для этого у вас есть make-файлы, но я надеюсь, что показал, что псевдоним полезен.

Я не знаю '

2
ответ дан 24 November 2019 в 12:26
поделиться

Как уже упоминалось, Ctrl - r отлично подходит для перехода назад по истории команд. Но что, если вы хотите двигаться вперед после того, как сделали на один или несколько шагов слишком много? Вот где пригодятся Ctrl - s . Однако обычно он отображается на XOFF (поток данных прерывания). Поскольку это уже не очень полезно, потому что мы не используем медленные последовательные терминалы, вы можете отключить это сопоставление с помощью:

stty -ixon

в вашем файле ~ / .bashrc .

Это также делает ] Ctrl - q доступно, что обычно является дубликатом Ctrl - v (вставка в кавычки, которая позволяет вставлять буквальный управляющий символ). У меня есть Ctrl - q , сопоставленный с завершением меню, которое проходит через завершение при повторном нажатии. Я предпочитаю оставлять Вкладка в обычном режиме.

Вы можете установить Ctrl - q на завершение меню, добавив эту строку в свой файл ~ / .inputrc :

"\C-q": menu-complete
2
ответ дан 24 November 2019 в 12:26
поделиться

set -o vi, чтобы иметь vi-подобное редактирование истории команд, а также текущей набранной команды.

3
ответ дан 24 November 2019 в 12:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: