背景

嵌入式开发中,开发工作是在远程服务器上进行的。当需要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执行命令,原理是一样的。目的就是,自动化平时手工操作中的重复操作,简化使用。

日常开发技巧:在远程机器上直接使用adb的更多相关文章

  1. visualvm 监控 远程 机器上的 Java 程序

    JDK里面本身就带了很多的监控工具,如JConsole等. 我们今天要讲的这款工具visualvm,就是其中的一款.但是这款工具是在JDK1.6.07及以上才有的.它能够对JAVA程序的JVM堆.线程 ...

  2. 转:visualvm监控远程机器上的Java程序

    转自:http://hanwangkun.iteye.com/blog/1195526 JDK里面本身就带了很多的监控工具,如JConsole等.我们今天要讲的这款工具visualvm,就是其中的一款 ...

  3. jenkins中通过Publish Over SSH将项目部署到远程机器上

    Publish Over SSH插件使用在使用Publish Over SSH之前,需要制作SSH私钥.机器间做免密登录配置.假设机器A,ip为192.168.AA.AAA,机器B: 192.168. ...

  4. 日常开发技巧:x11-forward,使用远程机器的gui程序

    背景 日常用过ssh登录服务器进行工作,尽管大部分时间,都只需要终端操作,编辑源码也是vim就够用了. 但有时候,还是需要使用gui程序的,比如打开一份pdf,word,ppt,excel等. 碰到这 ...

  5. Jenkins 通过ssh 拷贝文件到远程机器上。

    想实现的目的是: 在构建之前,从jenkins master上拷贝脚本到需要运行的机器上(linux ssh). 本来是通过publish over ssh 的transfer set可以直接设置,但 ...

  6. 日常开发技巧:使用notify-send发送通知

    背景 在终端执行一些需要较长时间的命令时,会切换到别的界面.但为了知道是否执行完成,需要时不时地切换过去看一眼.很麻烦. 解决方式 为了减少这种麻烦,可以使用notify-send,发送桌面通知.no ...

  7. ansible获取远程机器上的ip地址

    问题: 想要使用ansible-playbook脚本创建一个以远程机器的IP命名的目录 错误的代码:# vim test.yml --- - hosts: all remote_user: root ...

  8. 用SSH登录远程的机器,在远程机器上执行本地机器上的脚本

    假设本地的机器IP为10.245.111.90,我们想要在10.245.111.93上执行一个保存在10.245.111.90上的脚本. 经过测试通过的命令如下: ssh root@10.245.11 ...

  9. [OS] 如何在远程机器上用ctrl+alt+del键修改登录用户的密码

    远程登录某台机器,想修改当前登录用户的密码,系统提示按Ctrl+Alt+Del,在出现的界面里修改密码 但我一按这三个键,是在我本地客户机生效,而不是在远程服务器. 答案 : 向远程桌面发送Ctrl+ ...

随机推荐

  1. [剑指Offer] 50.数组中重复的数字

    题目描述 在一个长度为n的数组里的所有数字都在0到n-1的范围内. 数组中某些数字是重复的,但不知道有几个数字是重复的.也不知道每个数字重复几次.请找出数组中任意一个重复的数字. 例如,如果输入长度为 ...

  2. 第64天:CSS常用命名规范,有用!

    CSS常用命名,必须记住 一.常用命名 标题:title 摘要:summary 箭头:arrow 商标:label 网站标志:logo 转角/圆角:corner 横幅广告:banner 子菜单:sub ...

  3. 【bzoj4715】囚人的旋律 dp

    题目描述 给你一个 $1\sim n$ 的排列 $a_i$ ,若 $i\le j$ 且 $a_i\ge a_j$ ,则 $i$ 到 $j$ 有一条边.现在给你这张图,求既是独立集(任意两个选定点都没有 ...

  4. 【bzoj2091】[Poi2010]The Minima Game dp

    题目描述 给出N个正整数,AB两个人轮流取数,A先取.每次可以取任意多个数,直到N个数都被取走.每次获得的得分为取的数中的最小值,A和B的策略都是尽可能使得自己的得分减去对手的得分更大.在这样的情况下 ...

  5. 洛谷1578:[WC2002]奶牛浴场——题解

    https://www.luogu.org/problemnew/show/P1578#sub 由于John建造了牛场围栏,激起了奶牛的愤怒,奶牛的产奶量急剧减少.为了讨好奶牛,John决定在牛场中建 ...

  6. 在linux服务器上搭建相对安全的FTP服务器

    一.如何在Linux服务器上安装vsftp不在多说,直接介绍如何进行安全性配置: 二.编辑vsftp.conf文件 关键配置项如下: anonymous_enable=NO /禁止匿名用户登录 loc ...

  7. HDU 1002 (高精度加法运算)

    A + B ProblemII Time Limit: 2000/1000 MS(Java/Others)    Memory Limit: 65536/32768 K (Java/Others) T ...

  8. Aidl实现进程间通信,跨进程回调

    aidl支持的文件类型 1. Java 编程语言中的基本类型, 如 int.long.boolean 等, 不需要 import. 2. String.List.Map 和 CharSequence, ...

  9. OopenCV复习及函数深入理解(轮廓查询及绘图)

    核心函数:(后面标明号的,下面有解析) int cvFindContours(Iplimage* img,//这是输入函数,必须是8bit,单通道的图像---1 CvMemStorage* stora ...

  10. hbase的Region分裂代码分析

    region分裂有2种触发情景:1是用户手动触发(参见HRegionServer的splitRegion方法),2是后台flush线程flush完一个region的memstore时,会去检查这个re ...