2

我正在尝试回显当前正在运行的终端的类型。例如,如果我正在运行 konsole,那么它将回显 konsole。我试过跑步

echo $TERM

但这每次都会打印出 xterm 。有没有更好更准确的方法来做到这一点?

4

1 回答 1

6

pstree可以帮忙。

$ pstree -s $$
init───gnome-terminal───bash───pstree

-s选项显示指定进程的父进程。

在 bash(和 Bourne-shell 变体)中,$$表示当前 shell 的 PID。

另一个调用(从返回运行xterm时):

$ pstree -s $$
init───xterm───bash───pstree

指定-A选项会pstree使用 ASCII 字符,以便您可以轻松地解析输出:

$ pstree -A -s $$ 
init---gnome-terminal---bash---pstree
于 2013-08-26T14:15:28.807 回答