shell脚本

Android adb常用命令

谁说我不能喝 提交于 2019-12-03 03:42:24
Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用. Contents 概要 发出adb命令 查询模拟器/设备实例 给特定的模拟器/设备实例发送命令 安装软件 转发端口 从模拟器/设备中拷入或拷出文件 Adb命令列表 启动shell命令 通过远程shell端运行sqllite3连接数据库 UI/软件 试验程序 Monkey 其它的shell命令 启用logcat日志 使用logcat命令 过滤日志输出 控制日志输出格式 查看可用日志缓冲区 查看stdout 和stderr Logcat命令列表 停止adb服务 概要 Android 调试系统是一个面对客户服务系统,包括三个组成部分: 一个在你用于开发程序的电脑上运行的客户端。你可以通过shell端使用adb命令启动客户端。 其他Android工具比如说ADT插件和DDMS同样可以产生adb客户端. 在你用于发的机器上作为后台进程运行的服务器。该服务器负责管理客户端与运行于模拟器或设备上的adb守护程序(daemon)之间的通信。. 一个以后台进程的形式运行于模拟器或设备上的守护程序(daemon)。.

Linux里设置环境变量的方法(export PATH)

╄→гoц情女王★ 提交于 2019-12-03 01:45:50
1.动态库路径的设置 Linux下调用动态库和windows不一样.linux 可执行程序是靠配置文件去读取路径的,因此有些时候需要设置路径 具体操作如下 export LD_LIBRARY_PATH=/home/.....(动态库的目录) 不过这种设置方法只是在当前的session中有效 你可以修改配置文件实现任何session都有效 2.环境变量的设置 一般来说,配置交叉编译工具链的时候需要指定编译工具的路径,此时就需要设置环境变量。例如我的mips-linux-gcc编译器在“/opt /au1200_rm/build_tools/bin”目录下,build_tools就是我的编译工具,则有如下三种方法来设置环境变量: 2.1、直接用export命令: #export PATH=$PATH:/opt/au1200_rm/build_tools/bin 查看是否已经设好,可用命令export查看: 可以看到,环境变量已经设好,PATH里面已经有了我要加的编译器的路径。 2.2、修改profile文件: #vi /etc/profile 在里面加入: export PATH="$PATH:/opt/au1200_rm/build_tools/bin" 让环境变量立即生效需要执行如下命令: #source /etc/profile 2.3. 修改.bashrc文件: # vi

自动互信脚本shell/expect

匿名 (未验证) 提交于 2019-12-03 00:41:02
cat >forallHost.sh #!/bin/bash for i in {1..9} do /usr/bin/expect autoyes.sh $i done cat >autoyesMkdir.sh #!/usr/bin/expect set time 1 set i [ lindex $argv 0 ] spawn ssh 192.168.4.$i "mkdir /root/.ssh" expect { "password:" {send "123456\n"} "#" {send "hostname\n"} } cat >autoyesUprsa.sh #!/usr/bin/expect set time 1 set i [ lindex $argv 0 ] spawn scp -r /root/.ssh 192.168.4.$i:/root/.ssh expect { "password:" {send "123456\n"} "#" {send "hostname\n"} } ##################################################################3 cat uprsa.sh #!/bin/bash -r /root/.ssh/ 192.168.4.$i:/root/.ssh/. for i in {1

shell 流水账

匿名 (未验证) 提交于 2019-12-03 00:39:02
在shell脚本运行时,会先查找系统环境变量ENV,该变量指定了环境文件(加载顺序通常是/etc/profile ~/.bash_profile ~/.bashrc /etc/bashrc) 设置全局变量: declare -x 变量名 export 变量名 常见全局变量配置文件: /etc/profile、/etc/bashrc、/etc/profile.d/目录下 /etc/motd 登录提示 当位置参数大于9时,需要使用{}括起来 ,${10} dirname 获取路径 basename 获取文件名 for i ;do echo $i;done #相当于for i in "$@" $!获取上一次执行脚本的PID echo ${#parameter} 打印变量值的长度 ${var:2:2} 从第二个字符开始截取,截取两个字符。 ${var/oldboy/oldgirl} 替换第一个匹配的字符串 ${var//oldboy/oldgirl} 替换匹配的所有字符串 ${parameter:=word} 如果parameter变量值为空或未赋值,就设置这个变量值为word,并返回其值 ${parameter:-word} 如果parameter变量值为空或未赋值,则会返回word字符串替代变量的值 ${parameter:-word} 如果parameter变量值为空或未赋值

Shell脚本笔记(八)循环

匿名 (未验证) 提交于 2019-12-03 00:39:02
循环 一、whlie和until循环 while循环基本语法: while <条件表达式> do 指令 done #注意代码缩进 util循环基本语法: until <表达式> do 指令 done #与while的区别:不成立时进入循环,成立时终止循环 注意while条件表达式跟if的区别:if后的表达式是形如‘[ a -eq b ]‘这样的表达式,此时返回0为真,while后跟(( a < b)),返回1时为真。 # !/bin/ bash sum = 1000 i = 15 while (( sum > i)) #正确 do (( sum = sum - i)) echo " The sum now is $sum " done echo " The money is less than $i pls add it " # !/bin/ bash sum = 1000 i = 15 while [ $ sum - gt $i ] #错误的写法 do (( sum = sum - i)) echo " The sum now is $sum " done echo " The money is less than $i pls add it " 使用while按行读文件: 方法一: exec < FILE sum = 0 while read line do echo

Shell 脚本实例

匿名 (未验证) 提交于 2019-12-03 00:38:01
执行db.dump.sh westos(数据库密码)脚本执行后会备份数据库中的所有库到/mnt/mysqldump目录中备份文件名称为“库名称 .sql”当此文件存在时报错并询问动作输入“S”跳过备份,当输入“B”时备份“库名称.sq””文件为“库名称backup.sql” ,当输入“O”时,覆盖源文件 脚本内容如下: #!/bin/bash Action() # 定义函数,进行操作指南 { read -p "Please input action like:[S]kip [B]ackup [O]verwrite " action action=` echo $action | tr 'A-Z' 'a-z' ` } Action $1 Database=`mysql -uroot -p $1 -EN -e "show databases;" |grep -E "^\*|schema$" -v ` mkdir -p /mnt/sqldump/ [ -e " $database_name " .sql ]&& Case $1 Case() # 定义函数,匹配操作 { case $action in s) # s 时不做任何操作 ;; b) # b 时,将文件备份为数据库名称bachup.sql for database_name in $Database do mysqldump

shell编程中变量的应用:for,while,case,expect,if语句

匿名 (未验证) 提交于 2019-12-03 00:37:01
1.for 语句的结构 for do done 2.for语句的循环设置 ` for NUM in 1 2 3 == for NUM in { 1 .. 3 } == for NUM in seq 1 3 in与seq的区别在seq更高级,可以设置步长,如seq 1 2 5(设置1-5之间的步长为 举例:编写一个脚本,后边跟上用户名文件和密码文件,建立用户! #!/bin/bash MAX_LINE=`wc -l $1 | cut -d " " -f 1 ` for LINE_NUM in `seq 1 $MAX_LINE ` do USERNAME=`sed -n " ${LINE_NUM} p" $1 ` PASSWORD=`sed -n " ${LINE_NUM} p" $2 ` useradd $USERNAME echo $PASSWORD | passwd --stdin $USERNAME done while 条件 do done if 条件 1 then 语句 1 elif 条件 2 then 语句 2 ... else 剩余条件 fi case word1 ) action1 ;; word2) action2 ;; *) action_last esac expect 是自动应答命令用于交互式命令的自动执行 spawn 是expect中的监控程序

Shell 脚本《两个数求和》

匿名 (未验证) 提交于 2019-12-03 00:34:01
#!/bin/bash #read -r使\取消转义功能 -p提示内容 read -r -p "Please input A: " A read -r -p "Then please input B: " B #$(( )) 比let更好, 注意 $(( )) 里面的变量不用$ sum=$(( A+B )) #printf 默认不会带回车行,echo则不一样 printf "A+B=%d" $sum 原文:http://blog.51cto.com/ryanscn/2132432

从零开始内网渗透学习

匿名 (未验证) 提交于 2019-12-03 00:33:02
域环境搭建 准备: DC: win2008 DM: win2003 DM: winxp win2008(域控) 1、修改计算机名: 2、配置固定ip: 其中网关设置错误,应该为192.168.206.2,开始默认的网管 3、服务器管理器---角色: 4、配置域服务: dos下面输入 dcpromo Ps:这里可能会因为本地administrator的密码规则不合要求,导致安装失败,改一个强密码 5、设置林根域: 林就是在多域情况下形成的森林,根表示基础,其他在此根部衍生 具体见: http://angerfire.blog.51cto.com/198455/144123/ 6、 域数据存放的地址 win2003、winxp和08配置差不多 注意点是: 1、配置网络 dns server应该为主域控ip地址 2、加入域控 域已经搭建完成,主域控会生成一个 krbtgt 账号 他是Windows活动目录中使用的客户/服务器认证协议,为通信双方提供双向身份认证 参考: http://www.it165.net/os/html/201306/5493.html Acitve Directory 域环境的搭建 http://blog.sina.com.cn/s/blog_6ce0f2c901014okt.html 端口转发&&边界代理 此类工具很多,测试一两个经典的。 #####端口转发 1

shell 流程控制

匿名 (未验证) 提交于 2019-12-03 00:32:02
和Java、PHP等语言不一样,sh的流程控制不可为空,如(以下为PHP流程控制写法): <? php if ( isset ( $_GET [ "q" ])) { search ( q ); } else { // 不做任何事情 } 在sh/bash里可不能这么写,如果else分支没有语句执行,就不要写这个else。 if else if if 语句语法格式: if condition then command1 command2 ... commandN fi 写成一行(适用于终端命令提示符): if [ $ ( ps - ef | grep - c "ssh" ) - gt 1 ]; then echo "true" ; fi 末尾的fi就是if倒过来拼写,后面还会遇到类似的。 if else if else 语法格式: if condition then command1 command2 ... commandN else command fi if else-if else if else-if else 语法格式: if condition1 then command1 elif condition2 then command2 else commandN fi 以下实例判断两个变量是否相等: a = 10 b = 20 if [ $a == $b ] then