菜鸟--shell脚本编写之解决问题篇

一、执行时发现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 "---------------"
时间: 2024-10-28 22:14:45

菜鸟--shell脚本编写之解决问题篇的相关文章

shell脚本编程之基础篇(二)

shell脚本编程之基础篇(二) ============================================================================== 概述: ============================================================================== 退出状态 ★进程使用退出状态来报告成功或失败 ◆0 代表成功,1-255代表失败 ◆$? 变量保存最近的命令退出状态 (查看:echo $?)

Shell脚本之初见——理论篇(1)

Shell脚本之初见--理论篇(1) Shell脚本概念: 将要执行的命令按顺序保存在一个文件中 只要赋予该文件执行权限,便能够运行(使用chmod命令) 可结合各种shell控制语句以完成复杂操作 Shell脚本应用场景: 重复性操作 批量处理 自动化运维 服务状态监控 定时任务执行 Shell脚本作用: 担任命令解释器 介于系统内核与用户之间,负责解释命令行 编写基础脚本代码 1.使用vim文本编辑器: 2.每行一条Linux命令,按执行顺序依次编写. 操作示例: [[email prote

shell脚本编写nginx部署脚本

下面为shell脚本编写的nginx的安装及修改nginx.conf的脚本,脚本比较简单: #!/bin/bash function yum_install(){ yum install epel-release -y yum install nginx -y} yum_install pw=/etc/nginx/nginx.confread -p "请输入组名:" zuread -p "请输入第一个ip地址:" ip1read -p "请输入第二个ip地

shell脚本编写方法

shell脚本编写就如同一门语言,涉及到运行环境.基本语法.变量定义.函数.参数(系统参数).条件判定.执行流程控制 等等问题. 本文就以下几个方面进行描述: 运行环境: shell  shebang  Path 基本语法: 命令.变量.函数.参数.条件.流程控制. 变量相关:定义.命令参数变量和系统参数 与 配置文件读取(-r cron.daily/sysstat脚本中). 函数:定义方法 条件判定与环境测试:-x -d -f 等 执行流程控制:case 等 字符串处理与高级指令: (sed

Shell脚本编写教程

建立一个脚本    Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用.所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行). 如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit.kedit.emacs.vi 等来编写我们的shell程序. 程序必须以下面的行开始(必须方在文件的第一行):#!

shell 脚本编写基础

在进行Linux测试时编写脚本是必不可少的,Shell脚本的名称可以随便定义,也不要什么后缀名,例如可以写abc,smartzip这类名称,运行时只要键入 ./smartzip就能运行脚本了.. 每行命令开头处不用就空格也行.. 第1部分. linux 脚本编写基础 1.1 语法基本介绍1.1.1 开头程序必须以下面的行开始(必须方在文件的第一行):#!/bin/sh 符号#!用来告诉系统它后面的参数是用来执行该文件的程序.在这个例子中我们使用/bin/sh来执行程序. 当编辑好脚本时,如果要执

Shell脚本编写1

1.shell操作系统与外部最主要的接口就叫做shell.shell是操作系统最外面的一层.shell管理你与操作系统之间的交互:等待你输入,向操作系统解释你的输入,并且处理各种各样的操作系统的输出结果. shell提供了你与操作系统之间通讯的方式.2.shell脚本Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的.但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更

shell脚本编写守则

现在centos7中使用的是bash软件,通过以下命令可以查看bash版本: [[email protected] ~]# cat /etc/redhat-release #查看系统的版本 CentOS Linux release 7.5.1804 (Core) #我这里使用的是centos 7.5 1804 [[email protected] ~]# bash --version #查看bash的版本 GNU bash, 版本 4.2.46(2)-release (x86_64-redhat

第三部分shell编程3(shell脚本编写1)

做监控和备份最多 1. shell脚本是什么它是一种脚本语言,并非编程语言可以使用一些逻辑判断.循环等语法可以自定义子函数是系统命令的集合shell脚本可以实现自动化运维,大大增加我们的工作效率 第一个shell脚本:mkdir shellcd shell/vim 1.sh``#! /bin/bash`#This is a test shell script``echo "123456."`touch aming.111`date 2. shell脚本结构以及执行方法开头行指定bash