Я пытаюсь установить псевдоним для sudo !!
Bash. Я пытался alias sbb='sudo !!
, но это интерпретирует это как буквальное !!
и печатает
sudo: !!: command not found
Если я использую двойные кавычки, это заменяет двойной удар в самой строке, так что это не работает.
Есть ли способ сделать эту работу? Или альтернативный псевдоним? `
bash
sudo
alias
command-history
history-expansion
Manishearth
источник
источник
Ответы:
!!
расширяется bash при вводе. Он не расширяется путем подстановки псевдонимов.Вы можете использовать
history
встроенный, чтобы сделать расширение:Если команда больше, чем простая команда (например, она содержит перенаправления или каналы), вам нужно вызвать оболочку под sudo:
источник
man tcsh
и обнаружил, что он выполняет расширение истории при расширении псевдонима, «как будто исходная команда была предыдущей строкой ввода». Интересно. Темalias sbb 'sudo \!-2
не менее, не сработало, как ожидалось (это фактически заменило вторую предыдущую запись);alias sbb 'sudo \!\!'
сделал работу , как и ожидалось (замещенныйsbb
на!!
); и в конце концов оказалось, что я хотелalias sbb 'sudo \!-1'
получить то же самое, что и я\!\!
. (tcsh 6.17.06 (Astron) 2011-04-15) YMMV. Удачи.sbb
я бы предпочелprease
псевдоним, предложенный @jpschorrПытаться:
Я на самом деле предпочитаю называть это «пожалуйста»:
Информация:
fc
встроенная команда в оболочке bash. который перечисляет, редактирует и повторно выполняет команды, ранее введенные в интерактивную оболочку.источник
please
это определенно путь!please
мне кажется, что терминал - это сущность, с которой мне нужно быть милой , чтобы все было сделано. Я предпочитаю что-то, что дает лучшее чувство контроля - какfuck
;)Теперь в GitHub есть репозиторий для этой цели, он волшебным образом проверяет, нужны ли ему права суперпользователя, а также исправляет опечатки:
https://github.com/nvbn/thefuck
источник
apt-get install thefuck
который существует, но он не работает на моем Ubuntu 15.10; (Первоначально это было размещено на этот вопрос, но позже предложено разместить здесь.
Вот как вы можете использовать
fc
иhistory
с псевдонимом для!-
подобных замен. Предположим, что если вы хотите использовать!-n
(где n - цифра для n- й последней использованной команды), то вы можете использоватьfc
иhistory
с псевдонимом следующим образом:Использование
history
:Примечание: здесь
!-n
должно быть приложено'
или''
.Использование
fc
:Примечание: здесь 1- й и 2- й
-n
используются для указания диапазона списка истории.Здесь я использовал echo-ing перед выполнением команды для рубки вроде
!-<n>
.источник
history -p
иfc
. Что-нибудь новое здесь?-ln -n -n
это сильно сбивает с толку; также немного о'
или''
(а также немного о-<n>
).$(fc -ln -1)
источник