COLUMNSをエクスポートすると、列を拡張する方法は機能しません。

COLUMNSをエクスポートすると、列を拡張する方法は機能しません。

アップデート:GNUに関連しているようですscreentermcap新しい手がかりについては下部をご覧ください。


私は小さな組み込みデバイスで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はDebianを実行しています:
    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

私は次のものを使いますresizestty設定を更新します(組み込みデバイスに直接接続すると失われます。必要なものでもありますscreen)。

resizeコマンドラインユーティリティです(開発者xterm)には、実際の画面サイズ(VT100エスケープシーケンスを使用)を確認し、そのsttyサイズを反映するように更新し、環境変数を更新するために実行できる印刷コマンドも含まれています。

$COLUMNS内部を変更することは、端末画面がどれだけ大きいかを「知っている」さまざまなサイズを使用するプログラムを妨げるscreenため、それほど効率的ではありません。screen

関連情報