簡體   English   中英

在bash腳本中使用emacs打開和關閉txt文件

[英]Open and close txt files with emacs in bash script

我編寫了一個腳本,該腳本打開了我在工作期間需要的幾個文本文件(例如日記本等)。 該腳本如下所示:

#! /bin/bash

DOCPATH=$HOME/Documents
NUMDOCPATH=$DOCPATH/Numerics

emacs $DOCPATH/UTA_WorkProtocol.txt &

emacs $NUMDOCPATH/NumProtocol.txt &

emacs $NUMDOCPATH/CITCOM/Protocol.txt &

效果很好,文件已正確打開。 但是,最后,我想創建另一個腳本來再次保存並關閉這些文件。 但是,我無法使用bash腳本找到任何命令來保存和/或關閉在后台運行的打開的emacs文件。 我會更方便的是只運行這樣的腳本,而不是在每個txt文件中執行CX C,因為我可能也會向“ opening”腳本中添加新文件。

請更多有經驗的人幫助我。 謝謝!

這有點駭人聽聞,但bash腳本並不真正適合此類UI腳本。

#! /bin/bash

DOCPATH=$HOME/Documents
NUMDOCPATH=$DOCPATH/Numerics

emacs $DOCPATH/UTA_WorkProtocol.txt &
emacs $NUMDOCPATH/NumProtocol.txt &
emacs $NUMDOCPATH/CITCOM/Protocol.txt &

emacs   # *Not* in the background
kill $(jobs -p)

當您准備關閉所有emacs的后台實例時,只需關閉前台的實例即可。 這將導致最終的emacs退出,這將使腳本繼續執行kill命令,這將殺死其余的后台作業。

請注意,最終的emacs可以是任何阻止腳本完成並且可以輕易殺死的命令。

您必須使用bash嗎? 在Emacs lisp中很容易:

(defun open-files ()
  (interactive)
  (find-file "UTA_WorkProtocol.txt")
  (find-file "NumProtocol.txt")
  (find-file "CITCOM/Protocol.txt"))

(defun close-files ()
  (interactive)
  (save-buffers-kill-emacs)

然后打開一個Emacs實例並在Mx運行這些命令。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM