您好,匿名用户

求助,这段Lisp代码可以在Terminal的Emacs中运行,但无法在Gui的Emacs for OSX里调用Bash,为什么?

0 投票

;; Octopress路径
(setq octopress-workdir (expand-file-name "/Users/venmos/Documents/Project/blog/"))


(defun octopress-rake (command)
  "run rake commands"
  (let ((command-str (format "bash -l -c 'source $HOME/.rvm/scripts/rvm && rvm use ruby-1.9.2-p320 && cd %s && rake %s'" octopress-workdir command))) ;; RVM变量设置
    (shell-command-to-string command-str)))


(defun octopress-new (class title)
  (let* ((command-str (format "new_%s[\"%s\"]" class title))
         (command-result (octopress-rake command-str))
         (regexp-str (format "Creating new %s: " class))
         (filename))
    (progn
      (setq filename (concat octopress-workdir "/"
                             (replace-regexp-in-string regexp-str ""
                                                       (car (cdr (reverse (split-string command-result "\n")))))))
      (find-file filename))))


(defun octopress-new-post (title)
  "begin a new post in source/_posts"
  (interactive "MTitle: ")
  (octopress-new "post" title))


(defun octopress-new-page (title)
  "create a new page in source/(filename)/index.markdown"
  (interactive "MTitle: ")
  (octopress-new "page" title))


(defun octopress-generate ()
  "generate jekyll site"
  (interactive)
  (octopress-rake "generate")
  (message "Generate site OK"))


(defun octopress-deploy ()
  "default deploy task"
  (interactive)
  (octopress-rake "deploy")
  (message "Deploy site OK"))

(defun octopress-rsync ()
  "deploy website via rsync"
  (octopress-rake "rsync")
  (message "Rsync site OK"))

(defun octopress-gen-deploy ()
  "generate website and deploy"
  (interactive)
  (octopress-rake "gen_deploy")
  (message "Generate and Deploy OK"))


(defun octopress-preview ()
  "preview the site in a web browser"
  (interactive)
  (octopress-rake "preview"))

(provide 'octopress)
用户头像 提问 2014年 8月29日 @ Riven 中士 (1,254 威望)
分享到:

1个回答

0 投票
 
最佳答案
(format "/bin/bash -l -c 'source $HOME/.rvm/scripts/rvm && rvm use ruby-1.9.2-p320 && cd %s && rake %s'" octopress-workdir command)

写上Bash的全路径就可以了,好诡异的问题...

用户头像 回复 2014年 8月29日 @ Lulu 中士 (1,308 威望)
选中 2013年 9月8日 @Riven
提一个问题:

相关问题

0 投票
1 回复 163 阅读
用户头像 提问 2012年 12月1日 @ Demeter 下士 (763 威望)
0 投票
1 回复 175 阅读
0 投票
1 回复 49 阅读
0 投票
1 回复 67 阅读
用户头像 提问 2015年 11月11日 @ 末日姐 中士 (1,232 威望)
0 投票
1 回复 79 阅读
用户头像 提问 2012年 12月1日 @ Irelia 中士 (1,327 威望)

欢迎来到随意问技术百科, 这是一个面向专业开发者的IT问答网站,提供途径助开发者查找IT技术方案,解决程序bug和网站运维难题等。
温馨提示:本网站禁止用户发布与IT技术无关的、粗浅的、毫无意义的或者违法国家法规的等不合理内容,谢谢支持。

IT技术交流群 - 随意问
欢迎访问随意问技术百科,为了给您提供更好的服务,请及时反馈您的意见。
...