我正在尝试回显当前正在运行的终端的类型。例如,如果我正在运行konsole,那么它将回应konsole。我试过了
echo $TERM
但是每次都打印出xterm。有没有更好更准确的方法呢?
答案 0 :(得分: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