`xterm -e $COMMAND` 和 `xterm` 中的 `$COMMAND` 有什么区别?

`xterm -e $COMMAND` 和 `xterm` 中的 `$COMMAND` 有什么区别?

我很惊讶运行$COMMAND xterm并跑步xterm -e $COMMAND

例如:如果我tmux在 中作为程序运行xterm,我得到的行为与tmux在正在运行的实例中调用时不同xterm。具体来说,vim会得到不同的颜色(在正在运行的 中调用xtermtmux根据我的 vim+tmux+xterm 配置运行,而在 中运行时xterm -e tmux会给出未配置的颜色)。

我并不是想tmux专门修复这个问题——这不是我来这里的原因。我想知道在运行命令xterm和通过命令之间何时会出现问题xterm -e $COMMAND,这样我就可以自己评估是否愿意将其用作xterm终端应用程序快捷方式的图形前端。

xterm -e $COMMANDxterm-->有什么区别$COMMAND

答案1

当你跑步时xterm -e $COMMAND,它不会运行你的(正在执行初始化)。它只是运行$COMMAND(无需运行)。

手册页

   -e program [ arguments ... ]
           This option specifies the program (and its command line
           arguments) to be run in the xterm window.

之后

   XTERM_SHELL
        is set to the pathname of the program which is invoked.  Usually
        that is a shell program, e.g., /bin/sh.  Since it is not
        necessarily a shell program however, it is distinct from "SHELL".

相关内容