小编Jac*_*ers的帖子

Emacs 调用进程为 sudo

更新

我已经接受了@Sean 的回答,并做了一些小的修改。

(defun sudo-shell-command (buffer password command)
  (let ((proc (start-process-shell-command
           "*sudo*"
           buffer
           (concat "sudo bash -c "
                   (shell-quote-argument command)))))
    ;;; Added to @Sean answer to display the passed buffer
    (display-buffer buffer '((display-buffer . nil)) nil)
    (process-send-string proc password)
    (process-send-string proc "\r")
    (process-send-eof proc)))

(defun sudo-bundle-install (password)
  (interactive (list (read-passwd "Sudo password for bundle install: ")))
  (let ((default-directory (concat default-directory
                               "./fixtures/test-kitchen-mode-test-run/"))
    ;;; Added from accepted answer below by @sean
    ;;; need a buffer to display process in.
    (generated-buffer (generate-new-buffer "*test-kitchen-test-setup*"))) …
Run Code Online (Sandbox Code Playgroud)

emacs sudo elisp

2
推荐指数
1
解决办法
1050
查看次数

标签 统计

elisp ×1

emacs ×1

sudo ×1