平台

rk3288 + android 7.12

描述

在使用android 5.1 时, 在adb shell 下, 可以使用ls 和 ll 命令, 但在7.1中, 发现 ll 命令无法使用:/system/bin/sh: ll: not found

分析

在linux下, ll 命令的是由alias产生的, 它的宿主是ls:
alias ll=‘ls -l’

在android 中应该也是这样的, 在搜索5.1系统文件内容时, 找到了文件: /system/etc/mkshrc
基中对ll 的定义如下:

# Copyright (c) 2010, 2012, 2013, 2014#Thorsten Glaser # This file is provided under the same terms as mksh.#-# Minimal /system/etc/mkshrc for Android## Support: https://launchpad.net/mksh...alias l='ls'alias la='l -a'alias ll='l -l'alias lo='l -a -l'

mkshrc文件存放于external目录下:
$ ls external/mksh/
Android.mk Makefrag.inc mkmf.sh mkshrc MODULE_LICENSE_BSD_LIKE NOTICE src

而在7.1中的mkshrc中, 并没有找到 ll 命令相关的定义.

解决

只需要把相应的 ll 定义加到 mkshrc中即可.

# Copyright (c) 2010, 2012, 2013, 2014#Thorsten Glaser # This file is provided under the same terms as mksh.#-# Minimal /system/etc/mkshrc for Android## Support: https://launchpad.net/mksh: ${HOSTNAME:=$(getprop ro.product.device)}: ${HOSTNAME:=android}: ${TMPDIR:=/data/local/tmp}export HOSTNAME TMPDIRif (( USER_ID )); then PS1='$'; else PS1='#'; fiPS4='[$EPOCHREALTIME] '; PS1='${|local e=$?(( e )) && REPLY+="$e|"return $e}$HOSTNAME:${PWD:-?} '"$PS1 "#add-startalias l='ls'alias la='l -a'alias ll='l -l'alias lo='l -a -l'alias find='busybox find'#add-end

find 命令也比较常用, 所以我也把它加进去

更多相关文章

  1. Android(安卓)U盘文件显示在文件管理器
  2. Android圆形头像的绘制(二)之自定义视图
  3. 【转】eclipse 上调试android的自带应用方法
  4. 如何获得Android设备名称(ADB命令详细介绍)
  5. 通过ADB命令行卸载或删除你的Android设备中的应用
  6. Qt for android 在中英文不同的环境下自动识别更换APP和应用程序
  7. Android(安卓)2.2开始resources.arsc有改变
  8. Android绘图系列(一)——自定义View基础
  9. Unity3D游戏开发之Unity与Android交互调用研究

随机推荐

  1. Android(安卓)开源项目分类汇总
  2. android判断用户是否已登陆详细代码
  3. update android api
  4. metasploit - exploits
  5. Android、IOS 获取剪切板内容
  6. Android自动更新代码
  7. Android中的注解
  8. Android根据不同语言切换图片
  9. Android:CursorAdapter、ContentResolver
  10. 如何android多Activity间共享数据 (extend