2013-08-26 3 views
2

Я пытаюсь повторить тип текущего текущего терминала. Например, если я запускал консоль, тогда он будет эхо-консоль. Я пробовал работатьэхо типа выполняемого терминала

echo $TERM 

Но это печатает xterm каждый раз. Есть ли лучший и более точный способ сделать это?

ответ

6

pstree может помочь.

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

-s вариант показывает, что родители указанного процесса.

В вариантах bash (и Bourne-shell) $$ обозначает PID текущей оболочки.

Другой вызов (во время работы с xterm возвращается):

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

Задание параметра -A делает pstree использование ASCII-символов, так что вы можете синтаксический анализ вывода легко:

$ pstree -A -s $$ 
init---gnome-terminal---bash---pstree 
+0

Это работало отлично! спасибо –