我正在寫一個小外殼,我需要從它啓動emacs。但是,當我調用emacs命令時,出現錯誤「請設置TERM環境變量,請參閱tset」。現在,我一直在使用不同廠家如如下如何設置TERM環境變量
tset xterm
我也使用setenv()
系統調用在我的代碼如下
setenv('TERM','xterm',0);
然而,兩次錯誤仍然再次出現試圖嘗試。谷歌也不是很有幫助。有人可以解決這個問題嗎?謝謝。
我正在寫一個小外殼,我需要從它啓動emacs。但是,當我調用emacs命令時,出現錯誤「請設置TERM環境變量,請參閱tset」。現在,我一直在使用不同廠家如如下如何設置TERM環境變量
tset xterm
我也使用setenv()
系統調用在我的代碼如下
setenv('TERM','xterm',0);
然而,兩次錯誤仍然再次出現試圖嘗試。谷歌也不是很有幫助。有人可以解決這個問題嗎?謝謝。
基於我們在討論的意見,事實上,這是C,此行是錯誤的:
setenv('TERM','xterm',0);
您正在使用的用於字符文字而不是字符串單引號。許多編譯器,如gcc,實際上可以讓你包含多個字符作爲擴展。你應該使用字符串/雙引號:當你fork()
和exec()
,除非您使用exec()
的變種,明確包括環境(如execve()
)的一個
setenv("TERM","xterm",0);
進程的環境變量inherted。
謝謝..改變並沒有解決問題,但你的文章是信息 – nave 2013-03-09 16:25:27
在你調用'setenv()'後,你是否從相同的進程(或從它分出的一個進程)執行? – FatalError 2013-03-09 04:35:58
來自同一個進程... – nave 2013-03-09 04:39:49
您使用了exec()的哪種風格? – FatalError 2013-03-09 04:45:35