Terminal 如何检查我在Ubuntu中使用的终端?

Terminal 如何检查我在Ubuntu中使用的终端?,terminal,ubuntu-14.04,Terminal,Ubuntu 14.04,我的机器上有Ubuntu。我在上面运行很棒的窗口管理器。如何检查正在使用的终端?有命令吗?这更像是一个问题: 人们普遍接受的答案是:跑步: echo$0 但是还有更多的细节,所以我建议您阅读。我相信您要查找的命令是ps-p$$。不确定它是否对所有shell都是100%通用的,但在我尝试的shell上它起了作用。答案取决于OP认为“终端”是什么。通常的响应会指出连接或终端设备: 命令(特别是我是谁)显示连接。例如: $who 汤姆pts/1 2015-06-23 18:06(主持人:S.0)

我的机器上有Ubuntu。我在上面运行很棒的窗口管理器。如何检查正在使用的终端?有命令吗?

这更像是一个问题:

人们普遍接受的答案是:跑步:

echo$0


但是还有更多的细节,所以我建议您阅读。

我相信您要查找的命令是
ps-p$$
。不确定它是否对所有shell都是100%通用的,但在我尝试的shell上它起了作用。

答案取决于OP认为“终端”是什么。通常的响应会指出连接或终端设备:

  • 命令(特别是
    我是谁
    )显示连接。例如:

    $who
    汤姆pts/1 2015-06-23 18:06(主持人:S.0)
    tom pts/2 2015-06-23 18:09(somehost.somewhere.net)
    我是谁
    汤姆pts/2 2015-06-23 18:09(somehost.somewhere.net)

  • 该命令显示设备,例如

    $tty
    /dev/pts/2


然后,OP可能想知道正在使用哪个终端程序。没有标准方法(特别是,查看
术语
环境变量是毫无意义的)。您可以沿着
ps-ef
列表中的进程ID链返回,以查找运行shell的相应终端程序(参见示例)。这并不总是有效的,例如,如果您询问一个终端,您已经将ssh连接到当前机器。

我认为这不会告诉您正在使用哪个版本。它告诉您shell sh的版本信息。例如,我在一个系统上有sh和zsh shell。我可以运行
sh--version
zsh--version
来获取信息,但不能告诉我正在使用哪个。注意,您添加的链接有一些好信息。一条评论说,
$0是正在运行的进程的名称。如果您在shell中使用它,那么它将返回shell的名称。如果您在脚本中使用它,它将是脚本的名称
,这似乎是一个很好的信息。