如何在单个命令中从终端生成 2 个 emacs 窗口?

如何在单个命令中从终端生成 2 个 emacs 窗口?

我正在尝试使用emacs单个命令从终端打开 2 个单独的窗口/实例。我努力了:

emacs &; emacs &

(错误:bash:syntax error near unexpected token ;

emacs & && emacs &

(错误:bash:syntax error near unexpected token &&但这两种方法都会产生错误。我怎样才能在一个命令中生成 2 个 emacs 窗口来出现?

答案1

命令之间只需要单个分隔符:;&&&等,所以尝试

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

相关内容