如何修复adb shell中的列数?

时间:2015-02-11 23:29:08

标签: android shell terminal adb

当bash(或其他shell)无法猜测终端上的列数是否正确时,编辑长行会很不方便。

对于通常的Linux系统,脚本termsize会自动修复终端大小。但是典型的Android没有Python,因此termsize无法工作。

如何修复adb shell中的终端宽度?

1 个答案:

答案 0 :(得分:1)

此代码段可以帮助您设置列数:

echo "\033[18t"; { sleep 1; echo -n "COLUMNS="; } &  grep -m 1 -o '[0-9]*t' | { sleep 2; grep -m 1 -o '[0-9]*'; }

用法:

  1. 打开adb shell;
  2. 将代码段插入命令行;
  3. 执行它(按 Enter )并立即再次按 Enter
  4. 等待2秒:1秒钟后打印COLUMNS=,1秒钟后列数;
  5. COLUMNS=NNN复制到控制台并再次按 Enter
  6. 示例会话:

    $ adb shell
    9]*t' | { sleep 2; grep -m 1 -o '[0-9]*'; }                                   <
    
    [1] 17212
    ^[[8;38;149t
    COLUMNS=149
    
    [1] + Done                 { sleep 1 ; echo -n "COLUMNS=" ; } 
    shell@hwH60:/ $ COLUMNS=149
    shell@hwH60:/ $