linux执行shell过程日志,Android之在linux终端执行shell脚本直接打印当前运行app的日志...

1、问题

我们一般很多时候会需要在ubuntu终端上打印当前运行app的日志,我们一般常见的做法是

1)、获取包名

打开当前运行的app,然后输入如下命令,然后在第一行TASK后面的就可以看到包名

adb shell dumpsys activity top

2)、我们的终端安装了pidcat.py脚本,然后执行如下的命令就可以打印当前运行app的全日志,

pidcat.py packageName

3)、思考,为什么每次都需要这样重复的操作呢?一说到重复,我们应该立马想到是否可以用脚本解决重复操作

2、解决办法

通过执行脚本文件获取包名,然后再执行pidcat.py packageName命令

3、代码实现

1)、新建pcat文件

#!/bin/bash

dev="device"

devices=$(adb devices)

if [[ ${devices} == *$dev ]]

then

echo "手机已经连接好终端"

info=$(adb shell dumpsys activity top | awk -F " " '/TASK/ {print $2}')

echo "当前运行app的包名是:${info}"

pidcat.py --hw ${info}

else

echo "手机没有连接好终端"

fi

2)、把pcat文件复制到下面目录

/usr/local/bin/

4、测试结果

1)、打开手机"游戏中心"的app

2)、在终端输入pcat

3)、终端运行结果

*****~$ pcat

手机已经连接好终端

当前运行app的包名是:com.huawei.gamebox

Zygote D CtrlSocket libc.so ctrl_sockets_set_addr pfunc is not exist!

Process com.huawei.gamebox created for activity com.huawei.gamebox/.GameBoxActivity

PID: UID: GIDs:

ActivityThread D ActivityThread,attachApplication

HwCust D Create obj success use class android.content.res.HwCustHwResourcesImpl

AnalyticUtils D experience =

StoreApplication D create application.

HwPolicyFactory V : success to get AllImpl object and return....

HwWidgetFactory V : successes to get AllImpl object and return....

ActivityThread V ActivityThread,callActivityOnCreate

5、总结

重复的操作我们可以用脚本解决问题,提高开发效率,要记得用这个之前确保你的终端能运行pidcat

Linux终端执行shell脚本,提示权限不够的解决办法

原文:http://blog.csdn.net/this_capslock/article/details/17415409 今天在Linux尝试搭建dynamips的工作环境,在执行shell脚本时 ...

Linux终端执行shell脚本,提示权限不够

在学习dubbo过程中,上传自己写的脚本,执行的时候提示“权限不够”,从网上了解到是因为没有为脚本赋权限 解决方法是使用chmod命令为shell脚本赋予权限 chmod 777 ./service- ...

Linux中执行shell脚本的4种方法总结

bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...

Linux中执行shell脚本的4种方法

bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...

每天一个linux命令(62):sh命令 /Linux中执行shell脚本的4种方法总结

bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...

Linux中执行shell脚本命令的4种方法总结

bash shell 脚本的方法有多种,现在作个小结.假设我们编写好的shell脚本的文件名为hello.sh,文件位置在/data/shell目录中并已有执行权限. 方法一:切换到shell脚本所在 ...

【转】linux 定时执行shell脚本

在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程,在像备份等需要在操作系统级定时任务只能采用crontab来完成 本文讲述crontab具体用法,以供备忘. 在oracle ...

linux 定时执行shell脚本

转自:http://blog.csdn.net/jingxiangren/article/details/4745631 在oracle 中可以利用dbms_job包定时执行pl/sql.sql过程, ...

mac链接linux终端,shell脚本发布代码

项目的业务需求:从mac端直接连上linux服务终端,并发布相关的代码 一.使用ssh链接上linux服务端 1.cd ~/.ssh 2.vi config,按照下面的内容配置config文件,然后: ...

随机推荐

jQuery参数学习与整理

bind---可同时为元素嵌套多个事件. blur---当输入框焦点失去时发生的事件(获得焦点参数focus与之同理) change---当元素值改变时发生的事件 click---单击事件 dbcli ...

button 样式

/** * 个人资料 */Ext.define('For.view.personal.MyPersonalData',{            extend:'Ext.panel.Panel',   ...

获取iTextSharp 的image 报错

获取itextsharp类库的image对象的时候报错  outofmemory  .经过艰苦的测试发现jpeg类型是可行的的 iTextSharp.text.Image je = iTextShar ...

dll文件是什么

dll实际上是动态链接库的缩写,从windows1.0开始,动态链接库就是整个操作系统的基础,那么这有什么作用呢?在dos时代,程序员是通过编写程序来达到预期的目的的,每实现一个目的就需要编写一个程序 ...

java 12-1 StringBuffer类

线程安全(多线程讲解) 安全 -- 同步 -- 数据是安全的--效率低一些 不安全 -- 不同步 -- 数据不安全--效率高一些 安全和效率问题是永远困扰我们的问题. 安全:医院的网站,银行网站 效率 ...

2016-03-10:libx265源码解析

单步跟踪执行流程 将cli设定为启动项目,在属性->调试->命令行参数中设置如下参数: --input E:\video\pedestrian_area.yuv --fps 24 --in ...

C语言之循环计数

#includeint main(){int num,count=0,i=0;scanf("%d",&num);num/=10;count++ ...

【Linux】【MySQL】CentOS7安装最新版MySQL8.0.13(最新版MySQL从安装到运行)

1.前言 框框博客在线报时:2018-11-07 19:31:06 当前MySQL最新版本:8.0.13 (听说比5.7快2倍) 官方之前表示:MySQL 8.0 正式版 8.0.11 已发布,MyS ...

java手写线程池,完善中

package com.test001.threadpool; import java.util.LinkedList; import java.util.List; import java.util ...

UI自动化(四)css样式

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,下面是一个用于检查配置文件参数是否正确的shell脚本示例,该脚本会在特定的打印信息出现时执行。 假设您有一个名为“config.conf”的配置文件,其中包含以下参数: ``` #配置文件示例 port=8080 log_file=/var/log/app.log debug=false ``` 现在,假设您想在打印“开始检查配置文件”时执行检查,可以使用以下脚本: ```shell #!/bin/bash # 提示用户输入配置文件名 echo "请输入配置文件名:" read config_file # 监听特定的打印信息,并执行相应的操作 tail -f /var/log/app.log | while read line do if [[ "$line" == *"开始检查配置文件"* ]]; then # 从配置文件中获取参数值 config_param="port" config_value=$(grep "^$config_param=" $config_file | cut -d'=' -f2) # 检查参数是否存在 if [ -z "$config_value" ]; then echo "错误:配置文件中未找到参数$config_param" exit 1 fi # 检查参数值是否正确 if [ "$config_param" == "port" ] && [ "$config_value" != "8080" ]; then echo "错误:参数$confi_param的值不正确" exit 1 fi # 输出检查结果 echo "参数$config_param的值为:$config_value,检查通过。" fi done ``` 在这个脚本中,它会提示用户输入配置文件名,然后使用tail命令监听特定的打印信息(在这里是“开始检查配置文件”),并在该信息出现时执行检查操作。在这个示例中,它会检查“port”参数的值是否为“8080”,如果不正确,则会输出错误消息并退出脚本。最后,它会输出检查结果。 您可以根据需要修改此脚本,以检查其他参数或执行其他操作。注意,这个脚本会一直监听日志文件,直到脚本被终止。如果您需要在特定的时间内执行检查操作,可以使用其他工具,例如crontab。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值