Как может я 'искажать sudo!!'?

У меня была та же проблема. Я просто добавил -from your.ip.v4.addr к строке конфигурации XWin.exe, и это теперь работает на меня. И мои окна 7 и хост Linux делали IPv6. Я думаю, что Xwin/LightDM не знают, как обработать соединение IPv4/IPv6.

52
28.07.2014, 12:02
5 ответов

!! расширен ударом, когда Вы вводите его. Это не расширено заменой псевдонима.

Можно использовать history встроенный, чтобы сделать расширение:

alias sbb='sudo $(history -p !!)'

Если команда является больше, чем простая команда (например, она содержит перенаправления или каналы), необходимо вызвать оболочку под sudo:

alias sbb='sudo "$BASH" -c "$(history -p !!)"'
63
27.01.2020, 19:33
  • 1
    Добрался один для tcsh? –  mdpc 02.08.2013, 22:02
  • 2
    @mdpc: Я не использую tcsh, но я поглядел на man tcsh и обнаруженный, что это действительно делает расширение истории во время расширения псевдонима, "как будто исходная команда была предыдущей входной строкой". Интересный. Однако alias sbb 'sudo \!-2 не работал как ожидалось (это на самом деле заменило второй предыдущей записью); alias sbb 'sudo \!\!' действительно работал как ожидалось (замененный sbb для !!); и в конце оказалось, что то, что я хотел, было alias sbb 'sudo \!-1' которым я ожидал бы совпадать с \!\!. (tcsh 6.17.06 (Астрон) 15.04.2011) YMMV.Удачи. –  rici 03.08.2013, 00:10
  • 3
    Спасибо! Этот псевдоним является большим, когда как администратор Вы забываете помещать sudo перед своей командой. –  mdpc 03.08.2013, 00:42
  • 4
    вместо sbb Я предпочел бы prease как псевдоним, как предложено @jpschorr –  rubo77 07.07.2016, 08:52

Попробуй:

alias sbb='sudo $(fc -ln -1)'

Мне нравится, когда я предпочитаю называть это "пожалуйста":

alias please='sudo $(fc -ln -1)'

Информация: fc - это встроенная команда в bash-оболочке, которая перечисляет, редактирует и повторно выполняет команды, ранее введенные в интерактивную оболочку.

40
27.01.2020, 19:33

Теперь для этой цели в GitHub есть репозиторий, он волшебным образом проверяет, нужны ли ему права суперпользователя, а также исправляет опечатки:

https: // github .com / nvbn / thefuck

5
27.01.2020, 19:33

Это было первоначально опубликовано в этом вопросе, но позже было предложено разместить здесь.

Вот как вы можете использовать fc и history с псевдонимами для !- как подстановки. Предположим, если вы хотите использовать ! -n (где n - цифра для nth последней использованной команды), то вы можете использовать fc и history с псевдонимом следующим образом:

  1. Использование history:

    alias xyz='echo $(history -p "! -") ; sudo $(history -p "!-n")'
    

    Примечание: Здесь !-n должно быть заключено в ' или ''.

  2. Использование fc:

    alias xyz='echo $(fc -ln -n -n) ; sudo $(fc -ln -n -n)''
    

    Примечание: здесь 1st и 2nd -n используются для указания диапазона списка истории.

Здесь я использовал echo-ing перед выполнением команды для получения эффекта !-.

0
27.01.2020, 19:33
alias please="sudo $(history -p \!\-2)"
-1
27.01.2020, 19:33

Теги

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