如何使用python脚本调用adb shell里面的命令

如何使用python脚本调用adb shell里面的命令,第1张

python调用Shell脚本,有两种方法:ossystem(cmd)或ospopen(cmd),前者返回值是脚本的退出状态码,后者的返回值是脚本执行过程中的输出内容。实际使用时视需求情况而选择。

现假定有一个shell脚本

testsh:

#!/bin/bash

echo "hello world!"

exit 3

话不多说,直接开始

eg:

echo "Linux" | awk '{printf "|%-15s|\n",$1}'

|Linux |

说明:对于echo命令的输出,Linux是经管道发给awk。printf函数包含一个控制串。百分号让printf做好准备,它要打印一个占15个格、向左对齐的字符串,这个字符串夹在两个竖杠之间,并且以换行符结尾。百分号后的短划线表示左对齐。控制串后面跟了一个逗号和$1。printf将根据控制串中的格式说明来格式化字符串Linux。

echo "Linux" | awk '{printf "|%15s|\n",$1}'

| Linux|

说明:字符串Linux被打印成一个占15 格、向右对齐的字符串,夹在两个竖杠之间,以

换行符结尾。

cat employees

Tom Jones 4424 5/12/66 543354

Mary Adams 5346 11/4/63 28765

Sally Chang 1654 7/22/54 650000

Billy Black 1683 9/23/44 336500

awk '{printf "The name is: %-15s ID is %8d\n", 3}' employees

The name is Tom ID is 4424

The name is Mary ID is 5346

The name is Sally ID is 1654

The name is Billy ID is 1683

说明:要打印的字符串放置在两个双引号之间。第一个格式说明符是%-15s,它对应的参数是$1,紧挨着控制串的右半边引号后面的那个逗号。百分号引出格式说明:短划线表示左对齐,15s表示占15格的字符串。这条命令用来打印一个左对齐、占15格的字符串,后面跟着字符串的ID和一个整数。

echo -e识别转义和特殊意义的符号,如换行符、n、制表符\t、转义符\等。

[root@xuexi tmp]# echo 'Hello World!\n';echo "Hello World"!

Hello World!\n

Hello World!

[root@xuexi tmp]# echo -e 'Hello World!\n';echo "Hello World"!

Hello World!

Hello World!

printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg

printf "%-10s %-8s %-42f\n" 郭靖 男 661234

printf "%-10s %-8s %-42f\n" 杨过 男 486543

printf "%-10s %-8s %-42f\n" 郭芙 女 479876

运行

姓名 性别 体重kg

郭靖 男 6612

杨过 男 4865

郭芙 女 4799

%s %c %d %f都是格式替代符

%-10s 指一个宽度为10个字符(-表示左对齐,没有则表示右对齐),任何字符都会被显示在10个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。

%-42f 指格式化为小数,其中2指保留2位小数。

eg:

printf "%d %s\n" 1 "abc"

printf %s abcdef

printf %s abc def

printf "%s %s %s\n" a b c d e f g h i j

等等等等

希望大家了解一下

(已尝试mac自带的文本编辑器,脚本编辑器无法编写sh文件

运行后出现vim主界面,代表mac有vim,并且成功进入了vim

想要运行py文件,直接使用绝对路径即可(此路径可以通过直接拖进终端即可获得,或者使用快捷键Option+Command+C 复制文件途径。)

格式: /可执行文件所在目录/可执行文件

到这里简单可以运行regressionpy文件的shell脚本写好了。

解决办法:修改rtsh文件权限,命令为:

解决办法:同问题一

查了资料问题是'(',')'要使用转义,才可以识别即'(',')'。所以在最开始打开regressionpy文件把所有的括号都加了一遍,这种方法不会再出现括号的错误,但是这并不是一个合理的解决办法,这样太麻烦了,而且编写时是不会这样处理的,所以在看了另一个别人的脚本时,发现在py脚本的头部,即第一行加了一句话

这时使用未做过括号处理的py文件,也不会报错了!

可参考: >

shell脚本里$0代表程序名,$1代表命令行传来的第一个位置参数,$2代表代表命令行传来的第二个位置参数,同理类推。

例如

#!/bin/bash

echo "程序名:$0"

echo "参数1:$1"

$sh testsh 1111

输出结果为:

程序名: testsh

参数1:1111

以上就是关于如何使用python脚本调用adb shell里面的命令全部的内容,包括:如何使用python脚本调用adb shell里面的命令、python,awk,shell格式化输出内容全解、编写shell脚本运行python文件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9478257.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存