shell脚本

模拟器shell脚本操作APP

匿名 (未验证) 提交于 2019-12-02 23:56:01
#!/system/bin/sh i=0 count=20 while(($i<$count)) do am start -n cn.wondershare.wsapp/cn.wondershare.wsapp.MainActivity sleep 8 adb shell input swipe 476 1035 450 192 300 sleep 3 adb shell input tap 532 1860 sleep 3 am force-stop cn.wondershare.wsapp sleep 3 i=$(($i+1)) done 来源:博客园 作者: 江诗 链接:https://www.cnblogs.com/ai594ai/p/11435576.html

shell-Startup-Files

匿名 (未验证) 提交于 2019-12-02 23:55:01
shell-Startup-Files 1. 相关阅读 2. 主流shell 3. shell实例类型 4. Shell启动文件的必要元素 4.1 路径: 命令路径, 4.2 提示符 5. 主流shell的配置文件 6. 默认的bash 6.1 手册 6.2 bash启动文件 6.3 提示符 7. 友好的fish 7.1 简介 7.2 查看帮助文档 7.3 fish的配置 8. zsh 1. 相关阅读 https://www.cnblogs.com/sztom/p/11349159.html shell脚本 https://szosoft.blogspot.com/2019/07/console-terminal-tty-shell-kernel.html https://www.cnblogs.com/sztom/p/11247883.html Console-terminal-tty-shell-kernel Shell在计算机系统中的位置 http://hyperpolyglot.org/unix-shells 常用shell语法对照(Unix Shells: Bash, Fish, Ksh, Tcsh, Zsh) https://en.wikipedia.org/wiki/Comparison_of_command_shells https://opensource.com

程序员:利用Python实现可控制肉鸡的反向Shell

时光怂恿深爱的人放手 提交于 2019-12-02 23:50:40
一、初识 1.1 用 Python 实现一个可以管理多个肉鸡的反向 Shell,为什么叫反向 Shell 呢?反向就是肉鸡作为 Client 主动连接到我们的 Server 端,以实现对多个远程主机的管理! 学习技能: 了解TCP协议 了解C/S结构程序设计 Python socket模块的使用 Python subprocess模块的使用 1.2效果图 二、理论基础 以下内容整理自百度百科,参考链接: C/S结构 TCP(传输控制协议) 2.1 C/S结构程序设计 C/S 结构,即大家熟知的客户机和服务器结构。它是软件系统体系结构,通过它可以充分利用两端硬件环境的优势,将任务合理分配到Client端和Server端来实现,降低了系统的通讯开销。目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server 应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件;因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也就是目前应用系统的发展方向。 本次实验就是基于C/S结构的一个应用。很多有名的远程控制工具都是基于C/S结构开发的,比如:灰鸽子、冰河、teamViewer等等。但是我们应该将肉鸡端作为Server还是Client呢

shell 变量和参数

匿名 (未验证) 提交于 2019-12-02 23:49:02
1. shell 变量 your_name='world' 注意,变量名和等号之间不能有空格。同时,变量名的命名须遵循如下规则: 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。 中间不能有空格,可以使用下划线(_)。 不能使用标点符号。 不能使用 bash 里的关键字。 使用一个定义过的变量,只要在变量名前面加美元符号即可: your_name='world' echo $your_name echo ${your_name} 变量名外面的花括号是可选的,加花括号是为了帮助解释器识别变量的边界。 使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。 your_sex='male' readonly your_sex 使用 unset 命令可以删除变量。 unset your_name 运行 shell 时,会同时存在三种变量: 局部变量 环境变量 shell变量 2. shell 字符串 your_name='world' echo "${your_name}" #world echo '${your_name}' #${your_name},单引号里的任何字符都会原样输出 echo "hello,"${your_name}"" #hello,world echo "hello,'${your_name}'" #hello,world

shell脚本实现hive增量加载

匿名 (未验证) 提交于 2019-12-02 23:49:02
实现思路: 1、每天凌晨将前一天增量的数据从业务系统导出到文本,并FTP到Hadoop集群某个主节点上   上传路径默认为: /mnt/data/crawler/ 2、主节点上通过shell脚本调用hive命令加载本地增量温江到hive临时表 3、shell脚本中,使用hive sql 实现临时表中的增量数据更新或者新增增量数据到hive 主数据表中 实现步骤: 1.建表语句, 分别创建两张表test_temp, test 表 ? crrawler.test_temp( ) row format delimited fields terminated by ',' stored as textfile ; +++++++++++++++++++++++++++++++++ create table crawler.test( ) partitioned by (dt string) row format delimited fields terminated by '\t' stored as orc ; 2.编写处理加载本地增量数据到hive临时表的shell脚本test_temp.sh ? #! /bin/bash ################################## # 日期参数可选,默认是系统日期-1 # ##########################

Shell脚本定时监控

匿名 (未验证) 提交于 2019-12-02 23:47:01
1.建立脚本文件 autostart.sh #!/bin/bash ps -ef|grep tomcat |grep -v grep if [ $? -ne 0 ] then echo "start tomcat......" /home/tomcat/apache-tomcat-8.0.44/bin/startup.sh else echo "tomcat runing......" fi 保存脚本,手动运行一下,确保没有错误。 2.执行crontab -e,来进入定时设置: */1 * * * * /home/tomcat/autostart.sh 3.设置好后重启crontab服务,命令如下: service crond restart 设置完成! 4.查看邮件了解脚本定时执行的情况: mail

jenkins 执行远程脚本问题

匿名 (未验证) 提交于 2019-12-02 23:47:01
ssh在远程连接服务器执行命令的时候,经常会遇到环境变量的问题,如下: /data/resin-pro-4.0.49/bin/resin.sh: line 44: exec: java: not found 如果出现上面的提示,则说明环境变量配置有问题。 先来说解决办法 解决 目标服务器上/etc/profile文件,拷贝文件中的环境变量,例如JAVA_HOME, PATH等等 将环境变量拷贝至~/.bashrc文件保存 source ~/.bashrc 问题解决! 原因及拓展 这里就要说明bash有两种方式interactive + login shell模式和non-interactive + non-login shell模式 在服务器上执行命令,走的是interactive + login shell模式,而通过远程登录执行命令,走的是non-interactive + non-login shell模式。 这两种模式对于环境变量的读取是有区别的。 interactive + login shellģʽ Shell首先会加载/etc/profile文件,然后再尝试依次去加载下列三个配置文件之一,一旦找到其中一个便不再接着寻找: ~/.bash_profile ~/.bash_login ~/.profile non-interactive + non-login

case语句

匿名 (未验证) 提交于 2019-12-02 23:45:01
一case条件语句 case条件语句相当于多分支的if/elif/else条件语句,但是它看起来更规范更工整,常被应用于实现系统服务启动脚本等企业应用场景中。 在case语句中,程序会将case获取的变量的值与表达式部分的值1、值2、值3等逐个进行比较。 如果获取的变量值和某个值(例如值1)相匹配,就会执行值(例如值1)后面对应的指令(例如指令1,其可能是一组指令),直到执行到双分号(;;)才停止。 然后再跳出case语句主体,执行case语句(即esac字符)后面的其他命令。 如果没有找到匹配变量的任何值,则执行"*)"后面的指令(通常是给使用者的使用提示),直到遇到双分号(;;) (此处的双分号可以省略)或esac结束。 这部分相当于if多分支语句中最后的else语句部分。 另外, case语句中表达式对应值的部分,还可以使用管道等更多功能来匹配。 (一)case语句的语法 适合判断变量值 PAT1/ֵ1) 分支1/指令1 ;; PAT2/ֵ2) 分支2/指令2 ;; ... *) 默认分支 ;; esac case条件语句的执行流程逻辑图: 说明:当变量的值等于值1时,执行指令1;等于值2时执行指令2,以此类推;如果都不符合,则执"*)"后面的指令。 此外,注意不同行内容的缩进距离。 (二)case支持glob风格的通配符 *: 任意长度任意字符 ?: 任意单个字符 a|b:

shell 变量的高级用法

匿名 (未验证) 提交于 2019-12-02 23:45:01
案例:从头开始匹配,将符合最短的数据删除 ( # ) variable_1="I love you, Do you love me" echo $variable_1 variable_2=${variable_1#*ov} echo $variable_2    案例:从头开始匹配,将复合最短的数据删除( ## ) varible_3=${variable_1##*ov} echo $varible_3 案例:替换字符串,只替换第一次匹配成功的( / ) echo $PATH var6=${PATH/bin/BIN} echo $var6    案例:替换字符串,符合条件的全部替换 ( // ) var7=${PATH//bin/BIN} echo $var7    var=${str-expr}    如果变量 str 没有定义,那么var=expr 如果变量 str的字符串中有值,那么 变量 var 的值就等于 str变量的值 案例1 var="hello world" len=${#var} echo $len    案例2 var1="zhang biao" len=`expr length "$var1"` echo $len 获取字串在字符串中的索引位置 (把字串拆分成一个个的字串,最先匹配到的第一个就会返回) 案例 var="quickstart is a app"

shell基础知识

匿名 (未验证) 提交于 2019-12-02 23:43:01
调试 shell -x 脚本 执行 sh 脚本 [参数] (开启新的bash去执行) 添加执行权限,指定路径执行 (开启新的bash去执行) source 脚本 (不开启新的bash去执行,可以调用当前shell环境变量) . 脚本 (不开启新的bash去执行,,可以调用当前shell环境变量) 区别展示 环境变量 先读profile,再读bashrc /etc/profile 全局环境变量 /etc/bashrc 全局bash环境 谁后读谁生效 ~/.bashrc 用户bash环境 ~/.bash_profile 用户环境变量 用户环境 修改.bashrc文件添加export a=1,生效 修改.bash_profile文件,添加export a=10,生效 再次使得.bashrc生效,发现a的值再次改变 全局(在没有用户变量的设置下生效) 设置/etc/bashrc文件中a=10,设置/etc/profile文件中a=100,使得profile文件先生效,a的值为10 修改生效顺序,发现a的值仍为10 取消/etc/bashrc中a=10的赋值,再次生效,此时a=100 切换命令时时加 “-”切换profile文件 脚本中参数的传递 $@ 多个参数对应多个变量 $* 多个参数对应一个变量 $# 变量个数 $$ 进程PID $1 第一个参数 $0 文件名 编写打印脚本 #!