打开新终端并在此新终端上执行给定命令集的命令结构是什么?

打开新终端并在此新终端上执行给定命令集的命令结构是什么?

我使用的是 Linux Mint 19.03

首先,我可以向您保证,我已经阅读了您可能认为我的这个问题重复的大部分可能的问题。

现在,我基本上想在终端窗口中输入一些内容来打开一个新的终端窗口并执行命令。

像这样的东西:

[the part I am asking of] "echo $PATH; read"

此代码应该打开一个新终端,应该显示 $PATH 变量,并且读取只是为了停止终端。

我尝试过 x-terminal-emulator -e或 x-terminal-emulator -c 或 -x 但我永远无法正确地做到这一点。此 SE 上类似问题的所有答案都是旧答案,并且使用 -e 或 -x,但它表示这些选项已被弃用。

那么,实现这一目标的最正确方法是什么?

谢谢。

答案1

x-terminal-emulator本身不会启动 shell。这仅留下要使用该-e选项启动的可执行文件。

虽然echo可用作可执行文件 ( /bin/echo),但如果没有 . 则read作为bash内部命令将会失败bash。因此,新窗口中的输出完成速度比打开窗口要快,并且如果read失败,窗口会在您看到它之前关闭。

这就能解决问题:

x-terminal-emulator -e "bash -c 'echo $PATH; read'"

现在x-terminal-emulator启动一个bashshell,然后将执行echo $PATH; read.由于echo和 特别read现在可用作bash内部命令,因此该read命令不会失败并等待输入,从而使窗口保持打开状态,直到按下某个键。

相关内容