Я пытаюсь создать сочетания клавиш для некоторых обычно используемых команд sudo shell (например, имея C-c s
запустите (shell-command "sudo /etc/init.d/apache2 restart")
).Как запустить команду sudo в Emacs?
Я попытался с помощью оболочки вызова команды прямо как указано выше, но он просто выводит следующее в *Shell Command Output*
буфера:
[sudo] password for Inaimathi:
Sorry, try again.
[sudo] password for Inaimathi:
Sorry, try again.
[sudo] password for Inaimathi:
Sorry, try again.
sudo: 3 incorrect password attempts
Это на самом деле не запрашивает пароль. Я не хочу запускать Emacs, используя sudo emacs
, но я думаю, что это вариант, если ничего не будет работать.
Идеальное решение было бы функцией из Emacs (в отличие от OS jiggery-pokery, чтобы изменить поведение оболочки или команду sudo
). Что-то вроде (sudo-shell-command "dostuff")
, или (with-password-prompt (shell-command "sudo dostuff"))
.
Связанный (около дубликата?): Http://stackoverflow.com/questions/95631/open-a-file-with-su-sudo-inside-emacs и голос для перехода на Суперпользователя может быть правильным. @Inaimathi: Если это тесно связано с программированием, сейчас самое подходящее время, чтобы объяснить, почему, или эти вопросы, вероятно, будут перенесены на более подходящий сайт. – dmckee
Учитывая, что OP пытается связать некоторый elisp с ключом, это для меня достаточно программирование. – dmckee
Реструктурированный вопрос, чтобы облегчить некоторую путаницу. – Inaimathi