getenv 로 현재 쉘의 LINES 와 COLUMNS 를 구하려고 하는데요.
프로그램에서 getenv("LINES")를 하면 무조건 NULL만 반환 됩니다...
env에는 아애 LINES관련된게 없더군요..근데 또
그냥 echo $LINES를 치면 24라고 딱! 나옵니다.
왜그런거죠 ㅠ.ㅠ??? 수고하세요~
getenv로 쉘의 자식 프로세스로 읽을 수 있는 것은 export로 선언된 변수들 밖에 없습니다. LINES와 COLUMNS는 tty의 wrapper일 뿐이므로, 현재 쉘에 연결된 tty에서 직접 값을 가져오는 방식으로 접근하셔야할 것 같습니다.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
쉘의 LINES와 COLUMNS는 쉘변수지 환경변수가 아니기 때문에 당연합니다.
getenv로 쉘의 자식 프로세스로 읽을 수 있는 것은 export로 선언된 변수들 밖에 없습니다.
LINES와 COLUMNS는 tty의 wrapper일 뿐이므로, 현재 쉘에 연결된 tty에서 직접 값을 가져오는 방식으로 접근하셔야할 것 같습니다.
댓글 달기