我正在尝试回应正在运行的当前终端的类型.例如,如果我正在运行konsole,那么它将回应konsole.我试过跑步
echo $TERM
Run Code Online (Sandbox Code Playgroud)
但是每次都打印出xterm.有没有更好,更准确的方法呢?
pstree 可以帮助.
$ pstree -s $$
init???gnome-terminal???bash???pstree
Run Code Online (Sandbox Code Playgroud)
该-s选项显示指定进程的父级.
在bash(和Bourne-shell变体)中,$$表示当前shell的PID.
另一个调用(从xterm返回运行时):
$ pstree -s $$
init???xterm???bash???pstree
Run Code Online (Sandbox Code Playgroud)
指定该-A选项会pstree使用ASCII字符,以便您可以轻松地解析输出:
$ pstree -A -s $$
init---gnome-terminal---bash---pstree
Run Code Online (Sandbox Code Playgroud)