Shell
如何在單個命令中從終端生成 2 個 emacs 視窗?
我正在嘗試
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
。