菜鸟--shell脚本编写之解决问题篇
2017-04-13 11:45
387 查看
一、执行时发现adb shell进入设备后不再继续往下执行了
adb shell cd /system/plugin/ .... exit
在网上查到的都是bat文件调用adb shell,没有sh文件调用adb shell不往下执行的,查找其他无果。
最后采用这个方法
adb shell < 1.txt
在1.txt里输入想在设备里运行的命令,可达到预期。
二、1.txt中返回${res} ,想在父脚本中引用${res}
解决办法:父shell和子shell之间的变量传递①如果想在子shell中调用父shell中的变量,在父shell中export变量就行
#!/bin/bash exp8temp="hello shell" echo $exp8temp
②如果是想在父shell中调用子shell中的变量,方法有很多,可参考:http://blog.csdn.net/dreamcoding/article/details/8519689/
我的情况比较特殊,是设备里运行的参数要在设备外使用,使用了命令替换和命名管道都不管用,使用中间文件法可解决。
先把在设备上运行的参数存在设备临时文件tmp.txt,退出脚本后,把tmp.txt pull到本地,再在本地 read res < tmp.txt
adb pull /system/plugin/temp.txt . read res < temp.txt echo $res
很笨的方法,应该有更好的办法,目前还处于菜鸟级别,希望每天进步一点,以后再回头来看有无更好解决办法。。
三、将命令结果存在文件中
res=`ls | grep appname` echo "$res" > temp.txt
四、查询到某个进程,并kill掉
ID=`ps | grep "abc" | awk '{print $2}'` echo $ID echo "---------------" for id in $ID do kill -9 $id echo "killed $id" done echo "---------------"
相关文章推荐
- 解决在windows环境中编写shell脚本,在Linux运行出错的问题
- 解决shell脚本编写中出现的文件名后面带问号问题
- windows下编写的Shell脚本在Linux下运行错误的解决方法
- 使用eval命令解决shell脚本中函数嵌套调用中的参数问题
- windows下编写的Shell脚本在Linux下运行错误的解决方法
- shell脚本中解决SCP命令需要输入密码的问题
- shell 脚本 exit 1 报错:numeric argument required问题解决
- redhat下使用mysql,python,redis,httpsqs,shell脚本开机自启动的一些问题与解决
- 解决脚本占用当前shell的问题
- [linux]windows上编写的shell脚本linux上报错,Bom问题
- 解决Linux下shell脚本文件执行失败问题
- windows下编写shell脚本运行出错问题
- SecureCRT脚本编写,解决arm时间设置问题
- Java调用shell脚本遭遇的问题以及解决办法
- windows下编写的Shell脚本在Linux下运行错误的解决方法
- 朋友的一个问题:Linux开机如何自动运行自己编写好的shell脚本
- 通过脚本案例学习shell(一)如何通过复杂锁脚本解决脚本正在运行或者被意外中断问题 推荐
- 解决shell脚本cd命令不能进入指定目录的问题
- java 调用bash shell脚本阻塞的小问题的解决