QB杂货铺
底层劳动人民的不解忧杂货铺

日常开发技巧:在远程机器上直接使用adb

背景

嵌入式开发中,开发工作是在远程服务器上进行的。当需要adb推送一个文件到开发板时,则需要重新在本地机器中找到该文件,再执行命令。这样的操作比较麻烦。

下面介绍我的解决方式。

sshfs挂载

首先,我是通过sshfs将远程机器,挂载到了本地。并且在挂载时,挑选了同一目录。即,将远程机器的/workspace挂载到了本地的/workspace。这么做的好处是,远程的路径,可以直接复制黏贴到本地使用。

配置免密码登录

在远程机器上,配置好.ssh/config并使用ssh-copy-id设置免密码登录。假设配置好的本地机器别名,叫ZQB。则此时可在远程机器上,可直接ssh ZQB登录回本地机器。

编写包装脚本

既然已经通过sshfs将远程机器挂载到本地,且目录一致,则脚本很简单,ssh回到本地机器,并切换到同一目录,再执行命令即可。

文件 ~/.remote_zqb.sh

zqb()
{
	ssh ZQB "cd $(pwd) && $@"
}

alias adb="zqb adb"
alias fastboot="zqb fastboot"

并在/.bashrc中引入它。即在/.bashrc中添加一行

. ~/.remote_zqb.sh

最后重新source,使其生效

source ~/.bashrc

此时输入type zqb,可看到该函数。输入type adb可看到adb已经被alias成了”zqb adb“

现在就可以在远程机器上,直接使用adb命令了。非常便捷。

其他

有了这个思路之后,除了adb,还有其他命令,也可以进行对应包装,看个人需要了。

如果未事先用ssh挂载到同一目录,则可对应自己平时的使用习惯,修改脚本。如先使用scp先拷贝文件,再ssh执行命令,原理是一样的。目的就是,自动化平时手工操作中的重复操作,简化使用。

posted @ 2018-10-28 11:23  zqb-all  阅读(1533)  评论(0编辑  收藏  举报