Shell

如何在單個命令中從終端生成 2 個 emacs 視窗?

  • September 14, 2018

我正在嘗試emacs在單個命令中從終端打開 2 個單獨的視窗/實例。我試過了:

emacs &; emacs &

(錯誤:bash:syntax error near unexpected token ;

emacs & && emacs &

(錯誤:bash:syntax error near unexpected token &&但兩種方式都會產生錯誤。我怎樣才能在一個命令中產生 2 個 emacs 視窗來出現?

您只需要命令之間的單個分隔符:;&&&等,因此請嘗試

emacs & emacs &

如果您執行,emacs &; emacs &那麼您在後台啟動 emacs,然後在;沒有任何命令的情況下執行,因此bash聲稱它不希望出現此分隔符 ( syntax error near unexpected token ;)。

僅執行 bare 會得到類似的錯誤;

bash$ > ;
bash: syntax error near unexpected token `;'

並非所有的 shell 都這樣,例如zsh你甚至可以這樣做

zsh$> ; ; ls; ; ls&; ls&; ; ls &; ;

沒有任何問題(但並非;;沒有中間空格),因為它本身就是一個分隔符,在case語句中使用)。


您嘗試的另一件事emacs & && emacs &更糟,因為&&只有在第一個命令成功結束時才應該執行第二個命令(在 之後)(這就是這樣&&做的)。但是,由於我們在後台執行第一個命令,shell 不會等待它完成,所以這個條件沒有多大意義。再一次:在命令之間只使用單個分隔符,或者command1 & command2或者最終command1 && command2

引用自:https://unix.stackexchange.com/questions/468900