android不支持tab补全和ctrl+c的解决办法

时间:2021-11-09 08:05:34
进入android shell后会打印:
sh: can't access tty; job control turned off
输入tab键没有补全,输入ctrl+c没有终止到下一行,而是输入一个乱七八糟的字符,
没有cp命令等等等等,
你会发现,这他妈还是linux吗?这日子没法混了!

要支持一些常用的命令,
需要重新编译一个busybox,
make menuconfig
先选择你想要的那些命令,然后如果要支持tab补全的话,
选择,
Busybox Settings-->
Busybox Library Tuning-->
Tab completion 

选中就可以了
然后进入android串口,执行busybox sh
就可以了。
默认没有cp函数,
先重新mount一下T卡(默认的加载T卡的方式是不支持改变权限的),
然后
cd /sdcard
chmod 777 busybox
./busybox cp ./busybox /da ta/bin/
就可以了。
补全的原理如下:
android不支持tab补全和ctrl+c的解决办法

本质也就是读到tab键就开始查找,找到匹配的就显示出来。
至于ctrl+c不支持的解决办法是:

修改system/core/init/init.c 里面的
static char *console_name =  "/dev/ttyS2";
这里以前是/dev/console,
重新编译:
source  build/envsetup.sh 
mmm system/core/init/
把编译出来的init放到内核里面的root目录,
重新做一个内核烧进去,
这样就可以支持ctrl+c了,
当然前提是/dev/ttyS2确实是串口。