Terminal 如何检查我在Ubuntu中使用的终端?
我的机器上有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)
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的名称。如果您在脚本中使用它,它将是脚本的名称
,这似乎是一个很好的信息。