我试图回显正在运行的当前终端的类型。例如,如果我正在运行konsole,则它将回显konsole。我试过运行
echo $TERM
但这每次都会输出xterm。有没有更好,更准确的方法?
最佳答案
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