在Android手机上安装bash

来源:互联网 发布:数据库设计er图采购单 编辑:程序博客网 时间:2024/05/17 09:45

大家知道,  Android是基于Linux的内核, 很多熟悉Linux的人都会想到使用命令行来管理Android, 例如使用ls,ps,find,netstat这些Linux自身的命令, 另外对于在Android上开发的人, 还可能经常会使用am,pm,dumpsys等这些Android自身的命令行. 想进入命令行环境, 可能有以下三种途径:

1) 使用adb shell

2) 在Android上安装VX ConnectBot等类似的应用, 然后使用Local模式进入命令行

3) 在Android上安装sshd , 可参考我的另一篇博文<<在Android手机上安装sshd服务>>(我的博客空间链接, csdn博客链接),然后用ssh客户端连接

但是很多人都有同感,  Android的缺省shell简直是简单到几乎什么功能都没有, 例如历史命令, TAB补全等。有人会说busybox也带了ash和hush,  但是对于用惯linux的人来说, ash和hush也是功能过于简单。好了, 今天就让我们来终结它:安装一个完整的bash。

以下是步骤:

1) 在网上下载一个Android的bash文件。我是参考了以下贴子:http://forum.xda-developers.com/showthread.php?t=537827, 其中有bash的下载地址:http://pub.mzet.net/bash, 另外,我把该文件压缩后也放到了我的空间, 下载地址:http://l.epac.to:3399/wp/down/bash.gz (下载后使用gzip -d bash.gz解压, gzip在安装busybox后就会有)

2) 将bash文件放在/system/xbin目录中, 一般而言该目录的文件系统是只读的, 所以需要之前执行: mount -o rw,remount /system 从而改成读写挂载.

3) 将bash文件的属性改成可执行

chmod 755 bash

4) 创建一个家目录, 我的家目录是/data/r:

mkdir /data/r

5) 在/data/r目录下创建一个如下的文件, 例如名为arc, 作为bash配置文件

HOME=/data/r
HISTFILE=${HOME}/history
HISTCONTROL=ignoredups:ignorespace
PS1='\[\e[1;34m\][moto]\$ \[\e[0m\]'
export HISTTIMEFORMAT='%F %T '
export HISTFILESIZE=500000
export HISTSIZE=500000
shopt -s histappend
PROMPT_COMMAND="history -a; $PROMPT_COMMAND"
bind '"\e[A":history-search-backward'
bind '"\e[B":history-search-forward'
cd ${HOME}

其中moto是我的主机名, 你可以改成你喜欢的名称。

6) 执行 bash --rcfile /data/r/arc即可进入bash

为方便起见,你可以在/system/xbin下创建一个如下可执行的脚本, 例如文件名称为rb:

bash --rcfile /data/r/arc

这样每次你只需要在android中缺省的shell中执行rb即可进入bash。

7) 效果:有历史记录命令, 可用上下箭头调用历史命令等等, 总之你有了完整的bash体验!

原创粉丝点击