如何使用空env

时间:2015-05-24 19:33:50

标签: c env termcap

我想知道是否有办法获得终端类型但获得env(“TERM”)。

tgetent(NULL, getenv("TERM"));

但是如果我用空的env执行我的程序

env -i ./a.out

我无法获得我需要使用termcap库的终端类型。

有没有办法找到空env的终端类型?

1 个答案:

答案 0 :(得分:0)

找不到终端环境,而是设置它,以便您的应用程序正常运行。它应设置为与程序运行的终端的功能相对应。

有一些特殊情况,例如cron,你没有终端,但出于某种原因希望能够使用termcap(更有可能是一个termcap接口到一个terminfo库,由办法)。在ncurses中,有一些条目,例如genericunknowndumb,它们指的是不能用于全屏模式的终端。

今天使用的大多数(例如2/3或更多)终端仿真器与DEC VT100具有合理的兼容性,因此将TERM设置为vt100"工作&#34 ;.为了更好地适应,您需要知道终端的功能。例如,有些人会说将其设置为xterm,但这可能不是一个好建议(ncurses FAQ Why not just use TERM set to "xterm"? )。