我正在尝试回显当前正在运行的终端的类型。例如,如果我正在运行 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