COLUMNS를 내보낼 때 열을 확장하는 방법이 작동하지 않습니다.

COLUMNS를 내보낼 때 열을 확장하는 방법이 작동하지 않습니다.

업데이트: GNU와 관련된 것으로 보입니다 screen. termcap새로운 단서는 하단을 참조하세요.


저는 작은 임베디드 장치에서 Bash 4.3을 실행하고 있는데 터미널에 80개가 넘는 열이 있다는 것을 확신시키는 데 어려움을 겪고 있습니다.

80열을 초과하는 명령을 입력하면 계속하거나(최상의 시나리오) 다음 줄로 줄 바꿈하는 대신(허용 가능하지만 이상적이지는 않음) 입력 중인 동일한 줄에 새 문자를 넣기 시작합니다.

내가 달리면

set | grep COLUMNS

이해합니다 COLUMNS=80. 하지만 이것을 추가하려고 하면

export COLUMNS=200

행동은 변하지 않습니다.

언급된 처방전여기사용해 shopt -s checkwinsize도 도움이 되지 않습니다.

모든 세부정보를 사용할 수 있습니다.가능한관련된:

  • 내가 연결하고 있는 컴퓨터~에서OS X 10.11.6 입니다.
  • 내 터미널은 iTerm2(빌드 3.1.beta.4)입니다.
  • 새로운 터미널 설정을 확인하기 위해 매번 새 터미널 창을 엽니다.
  • 내장형 장치는 CHIP Pro입니다.
  • CHIP Pro는 데비안을 실행하고 있습니다:
    Linux chip 4.4.30-pro #1 SMP Wed Dec 21 01:50:18 UTC 2016 armv7l GNU/Linux
  • Bash는 4.3.30이며 ARM용으로 컴파일되었습니다(물론).
    GNU bash, version 4.3.30(1)-release (arm-unknown-linux-gnueabihf)
  • CHIP Pro에 연결하기 위해 GNU 화면을 사용하고 있습니다.
  • ~/.screenrc기본 설정을 가져오는 기능을 비활성화했습니다 .
  • 출력은 shopt다음과 같습니다

    autocd          off
    cdable_vars     off
    cdspell         off
    checkhash       off
    checkjobs       off
    checkwinsize    on
    cmdhist         on
    compat31        off
    compat32        off
    compat40        off
    compat41        off
    compat42        off
    complete_fullquote      on
    direxpand       off
    dirspell        off
    dotglob         off
    execfail        off
    expand_aliases  on
    extdebug        off
    extglob         off
    extquote        on
    failglob        off
    force_fignore   on
    globstar        off
    globasciiranges off
    gnu_errfmt      off
    histappend      on
    histreedit      off
    histverify      off
    hostcomplete    on
    huponexit       off
    interactive_comments    on
    lastpipe        off
    lithist         off
    login_shell     on
    mailwarn        off
    no_empty_cmd_completion off
    nocaseglob      off
    nocasematch     off
    nullglob        off
    progcomp        on
    promptvars      on
    restricted_shell        off
    shift_verbose   off
    sourcepath      on
    xpg_echo        off
    

고쳐 쓰다:

  1. screen방금 의 너비 명령(Ca W)을 사용하면 "Termcap이 터미널 너비를 132로 변경하는 방법을 지정하지 않았습니다"라는 메시지가 표시된다는 것을 발견했습니다 .

  2. 그러나 , , 및를 사용해 width 300width -w 300문제 width -d 300가 해결되지 않습니다.

답변1

나는 다음을 사용할 것입니다 resize: stty설정을 업데이트합니다(임베디드 장치에 직접 연결하면 손실되는 것입니다. 또한 필요한 것이기도 합니다 screen).

resize명령줄 유틸리티입니다(개발자xterm), 이는 실제 화면 크기(VT100 이스케이프 시퀀스 사용)를 확인하고 stty해당 크기를 반영하도록 업데이트하며 환경 변수를 업데이트하기 위해 실행할 수 있는 인쇄 명령도 포함합니다.

$COLUMNS내부를 변경하는 것은 터미널 화면이 얼마나 큰지 "알고" 다양한 크기를 사용하는 프로그램을 방해하기 screen때문에 그다지 효율적이지 않습니다 .screen

관련 정보