Size: a a a

Emacs — русскоговорящее сообщество

2020 September 11

VL

Valeriy L in Emacs — русскоговорящее сообщество
команда async-shell-command
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
можно также в обычном shell-command в конце добавить &
источник

AT

Andrew Tropin in Emacs — русскоговорящее сообщество
Valeriy L
команда async-shell-command
спасибо, работает как надо в плане отображения буферов, но мне ещё нужен код возврата, чтобы логику функции дальше ветвить.
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Andrew Tropin
спасибо, работает как надо в плане отображения буферов, но мне ещё нужен код возврата, чтобы логику функции дальше ветвить.
тогда тебе нужна функция start-process
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
там больше контроля
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
можно вешать sentinels которые будут мониторить ивенты
источник

AT

Andrew Tropin in Emacs — русскоговорящее сообщество
спасибо, сейчас погляжу
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Andrew Tropin
спасибо, работает как надо в плане отображения буферов, но мне ещё нужен код возврата, чтобы логику функции дальше ветвить.
эту команду желательно использовать только интерактивно
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
для кода call-process и start-process. синхронная и асинхронная соответственно
источник

AT

Andrew Tropin in Emacs — русскоговорящее сообщество
Valeriy L
эту команду желательно использовать только интерактивно
Намутил что-то такое
(call-process-shell-command "sudo nixos-rebuild switch --flake /home/abcdw/work/rde" nil (get-buffer-create "test-buf"))

Но терь непонятно как ему пароль передать.
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Andrew Tropin
Намутил что-то такое
(call-process-shell-command "sudo nixos-rebuild switch --flake /home/abcdw/work/rde" nil (get-buffer-create "test-buf"))

Но терь непонятно как ему пароль передать.
что такое call-process-shell-command
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
в таком слачае тебе нужно передать процессу строку
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
через process-send-string
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
но я вообще для sudo определил переменную sudo-askpass
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
если передать флаг -A то будет выполнена команда в этой переменной
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
соответственно там у меня вызов pass
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
Valeriy L
но я вообще для sudo определил переменную sudo-askpass
export SUDO_ASKPASS=your_command
источник

A

Aragaer in Emacs — русскоговорящее сообщество
к сожалению это должен быть путь к исполняемому файлу
источник

A

Aragaer in Emacs — русскоговорящее сообщество
нельзя сделать SUDO_ASKPASS="pass $(hostname)"
источник

VL

Valeriy L in Emacs — русскоговорящее сообщество
да
источник