Android开发日常之shell alias
学无止境,有一技旁身,至少不至于孤陋寡闻。
随着我们工作阅历的提升,除了基本的业务开发,也需要提升我们自身在开发效能方面的一些储备与笔记。
Android开发日常之gradle
Android开发日常之adb
Android开发日常之git
Android开发日常之shell alias
shell终端的别名只是命令的简写,有类似键盘快捷键的效果。如果你经常执行某个长长的命令,可以给它起一个简短的化名。使用alias命令列出所有定义的别名。你可以在~/.bashrc(.zshrc)
文件中直接定义别名如alias logRunActivity="adb shell dumpsys activity activities | grep 'Run*'"
,也可以新创建一个文件如.byterc
, 然后在当前shell对应的文件中.bashrc
或者.zshrc
中增加source ~/.byterc
,重新source配置,使得配置生效,即可使别名全局生效。使用别名可以节省时间、提高工作效率。
查看当前shell
- 在命令行中执行
ps $$
或者ps -fp $$
,在COMMAND列可查看对应的shell,如-zsh
- 输入一条不存的命令,查看出错的shell提示
admin@C02D91V5MD6R ~ % omg zsh: command not found: omg
当然也有其他方式可以查看(不是重点),主要是为了了解当前shell是bash
还是zsh
。
下面在MAC环境采用新建文件形式添加别名,步骤如下:
-
新建
.byterc
文件- 如果已经新建,直接打开
open ~/.byterc
- 没有新建,则新建后打开
新建:touch ~/.byterc
打开:open ~/.byterc
- 如果已经新建,直接打开
- 在.zshrc中添加
source ~/.byterc
-
在打开的
.byterc
文件中定义别名
alias logRunActivity="adb shell dumpsys activity activities | grep 'Run*'"
Android同学应该知道作用就是查看当前设备运行的Activity信息 -
重新source配置,使得配置生效
$ source ~/.byterc
如果不是新建文件,直接使用.bashrc
或者.zshrc
,直接source对应的配置即可,如:$ source ~/.zshrc
. - 此时在命令行中直接执行
logRunActivity
即可。
关于使用alias设置shell命令简单使用:
-
列出所有别名
$ alias
-
定义/创建别名
定义别名的语法:$ alias name=value
例如使用别名c表示clear命令,清屏。
$ alias c='clear'
// 或写到~/.bashrc文件中,使它全局生效
$ alias -g c='clear'
//全局生效
然后可以用c来清屏:
$ c
-
移除一个别名
语法:$ unalias alias_name
例如,移除上面的清屏别名c:$ unalias c
如果定义了全局的也需要移除~/bashrc(zshrc))文件中定义的别名。 -
关于ls命令的别名:
带颜色的ls别名:
alias ls='ls --color=auto'
alias ll='ls -la'
显示隐藏文件或目录的命令别名:
alias l.='ls -d .* --color=auto'
-
关于cd命令的别名:
进入父目录
alias cd..='cd ..'
快速返回到父目录alias ..='cd ..' alias ...='cd ../../' alias ....='cd ../../../' alias .....='cd ../../../../' alias .4='cd ../../../../' alias .5='cd ../../../../../'
-
关于grep命令的别名:
加入颜色输出,在搜索log文件时很有用alias grep='grep --color=auto' alias egrep='egrep --color=auto' alias fgrep='fgrep --color=auto'
-
给设备截图并在电脑上打开
- 截屏
$ adb shell screencap /sdcard/screen_shot_temp.png
- 拷贝到电脑上
$ adb pull /sdcard/screen_shot_temp.png ~/Downloads/
- 打开Downloads
$ open ~/Downloads -a Finder
合成一个命令如下:
$ adb shell screencap /sdcard/screen_shot_temp.png && adb pull /sdcard/screen_shot_temp.png ~/Downloads/ && open ~/Downloads -a Finder
使用alias如下:
$ alias -g ss='adb shell screencap /sdcard/screen_shot_temp.png && adb pull /sdcard/screen_shot_temp.png ~/Downloads/ && open ~/Downloads -a Finder' $ ss