嵌入式开发中,开发工作是在远程服务器上进行的。当需要adb推送一个文件到开发板时,则需要重新在本地机器中找到该文件,再执行命令。这样的操作比较麻烦。
下面介绍我的解决方式。
首先,我是通过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执行命令,原理是一样的。目的就是,自动化平时手工操作中的重复操作,简化使用。