shell脚本

shell系统$的含义

六月ゝ 毕业季﹏ 提交于 2020-03-11 16:49:22
#!/bin/bash #Author:Sparrow #Name:explain_shell_parameters #Date 2020-3-11 #Description: #Explain what $0 $1 $2 $3 $4 $@ $* $# mean #Program begin #Ensure enter six parameters at least if [ $# -le 6 ];then echo "Please enter 6 parameters at least!" exit 1 fi #Echo every $ echo "\$0 --------- $0" echo "\$1 --------- $1" echo "\$2 --------- $2" echo "\$3 --------- $3" echo "\$4 --------- $4" echo "\$5 --------- $5" echo "\$6 --------- $6" echo "\$7 --------- $7" echo "\$8 --------- $8" echo "\$# --------- $#" echo "\$@ --------- $@" echo "\$* --------- $*" echo "\$? --------- $?" l输出结果 sh

《自拍教程41》adb命令_一键清理磁盘

橙三吉。 提交于 2020-03-11 13:47:53
Android设备,比如车载tbox搭载的Android系统, 其只有500M的磁盘容量;电视机搭载的Android系统其磁盘容量也非常小, 一般debug阶段的产品,开启的log比较多,比如有: 自动后台logcat截取,自动捕捉coredump, tombstone,anr, dropbox等crash相关的log,还有比如车载测试,可能产生大量的gps轨迹log, 语音测试可能产生很多录音文件。及时清理以上log,有很多好处。 (1). 适时地清理log,可以在导出log的时候,花较少的时间,减少不必要的冗余的log。 (2). 适时地清理log,可以减少磁盘满爆盘风险,尤其是磁盘容量很小的设备, 爆盘后你会看到各种App的无法正常运行。 所以,适时清理log,对于一个合格的测试人员来说,也很重要。 准备阶段 adb shell rm -rf,可以清除log 你需要了解具体log尤其是老旧的无用的log的存储位置 删除log的时候,要注意正在进行写操作的文件,不能删,不然log会丢失。 os.system()可以调用adb命令 Android系统默认的Log存储路径 */ /*--> */ Android Log类型 默认路径 logcat序列log /data/logs/logcat.txt /data/logs/logcat.txt.1 … /data/logs

shell简介

时光毁灭记忆、已成空白 提交于 2020-03-11 01:33:42
1.1 什么是shell 变量 命令大礼包 判断循环 #重复性的工作 节约时间 1.2 书写shell脚本 mkdir -p /server/scripts 尽量把脚本都放在这个目录下 #!/bin/bash 这个脚本默认使用的命令解析器是 /bin/bash shell脚本之变量 2.1 什么是变量 未知数=====变量 2.2 环境变量(全局变量) 大写 哪里都生效 都可以使用 LANG 手动创建一个环境变量 ##临时创建 [root@dzc ~]# cd /server/scripts/ [root@dzc scripts]# export OLDBOY=teacher [root@dzc scripts]# env |grep -i oldboy OLDBOY=teacher ###永久生效 echo 'export OLDBOY=teacher' >>/etc/profile ###生效 source /etc/profile 与用户环境变量有关的文件 目录 /etc/profile、/etc/bashrc、 /etc/profile.d/ 用户登录到系统会运行这个目录下的脚本 用户环境变量配置文件 ~/.bash_profile ~/.bashrc 1.1 普通变量 [root@dzc scripts]# a=100 [root@dzc scripts]# echo

shell练习题

爷,独闯天下 提交于 2020-03-11 01:18:58
一、编写一个脚本使我们在写一个脚本时自动生成”#!/bin/bash”这一行和注释信息。 原文代码为: Shell 1 2 3 4 5 6 7 8 9 10 #!/bin/bash if ! grep "^#!" $ 1 & > / dev / null ; then cat >> $ 1 << EOF #!/bin/bash # Author: #Date & Time: `date +"%F %T"` #Description: EOF fi vim + 5 $ 1 初学者看到这代码,可能不太会用,其实很简单,看到有$1,就表示需要带参数来执行,所以,这个脚本的执行方法是: ①、将以上代码保存为shell脚本,比如test, ②、使用chmod加上执行权限,chmod +x test ③、执行 ./test newfile 即可看到效果。 Ps:当然也可以不要第②步,直接使用 sh test newfile 即可。 执行效果如下: 这个脚本对于经常写shell的童鞋就很有用,但是忘记带参数执行就会卡住不动,而且不带路径的话就直接在当前目录下生成新文件,会很乱。所以张戈就将其改进一下,变得更加易用: Shell 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #!/bin/bash if [ [ - z "$1" ] ] ; then newfile =

shell配置java环境变量和批处理配置环境变量

若如初见. 提交于 2020-03-10 08:19:51
linux配置java环境只需在/etc/profile中添加以下 前提是把jdk解压到/usr/local路径,当然路径可以随便改 export JAVA_HOME=/usr/local/jdk1.7.0_79export JAVA_BIN=$JAVA_HOME/binexport PATH=$PATH:$JAVA_BINexport CLASSPATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 添加完毕后,执行 source /etc/profile 重新运行,使配置生效 以下是配置java环境的shell和window上的批处理 运行shell的前提是,shell必须跟jdk在同一目录下 1、shell里面配置的环境变量,并且export变量,则新建每一个shell都能利用这些变量。(环境变量定义在/etc/profile中,则每次开机后,环境变量都export一次,即可用于系统任意地方) 在shell脚本程序中定义了一个变量,当该脚本程序运行时,这个定义的变量只是该脚本程序内的一个局部变量,其他的shell不能引用它,要使某个变量的值可以在其他shell中被改变,可以使用 export 命令对已定义的变量进行输出。 export 命令将使系统在创建每一个新的shell时定义这个变量的一个拷贝。这个过程称之为变量输出。 #!

shell脚本自动安装nginx

筅森魡賤 提交于 2020-03-10 08:19:10
写一脚本,实现对nginx的自动化下载,安装,启动,停止 #!/bin/sh ###nginx install shell SOFT_PATH=/data/soft NGINX_FILE=nginx-1.14.2.tar.gz DOWN_PATH=http://nginx.org/download/ if [ $# -ne 1 ];then echo "USAAGE:$0{download or start or install or stop}" exit 0 fi if [ $UID -ne 0 ];then echo this script must use administrator or root user.please exit! sleep 2 exit 1 fi if [ ! -d $SOFT_PATH ];then mkdir -p $SOFT_PATH mkdir -p /application/nginx1.14.2 fi download() { cd $SOFT_PATH;wget $DOWN_PATH/$SOFT_FILE } install() { yum install -y pcre pcre-devel openssl openssl-devel cd $SOFT_PATH;tar xf $NGINX_FILE;cd nginx-1.14.2/

【自动构建系列】自动部署环境的shell脚本

社会主义新天地 提交于 2020-03-10 08:18:05
最近项目组在推行自动构建,在每次build完了之后,需要自动把文件部署到linux服务器上,因此根据项目的具体的情况,写了一个shell脚本,供自动构建工具来调用执行部署。 粗略的思路就是:停止系统-->备份现有的环境-->部署新build的文件-->修改需要修改的配置文件(如果需要)-->启动系统 大致脚本如下: #!/bin/bashDAY=`date +%Y-%m-%d-%H:%M:%S`#the path for deleting the log and tmpAPP_MAIN_PATH=/data/yousystem/jboss-5.1.0.GA/server/default#the key word for searching the process idPID_MSG=yousystem/#msg of the file which is running now,backup it.APP_FILE_NAME1=yousystem.warAPP_FILE_PATH1=/data/yousystem/jboss-5.1.0.GA/server/default/deploy#msg of the start file which is used to start the systemAPP_START_FILE=app-run.shAPP_START_PATH=/data

用Java远程执行shell命令出现java: command not found

不问归期 提交于 2020-03-10 06:34:43
一、问题发现: 在使用jsch远程调用shell命令时,提示java: command not found。 这个错误的意思是linux的环境变量里没有配置JAVA_HOME的内容。 但是我在Linux上查看了一下环境变量,发现已经配置了。 vim /etc/profile 二、解决办法 经过多方查找原因后发现是因为远程执行shell脚本时,不会自动加载环境变量,导致出现此错误, 解决方案就是在脚本前加上这段代码即可。 source /etc/profile; 比如: source /etc/profile;java -version 多个命令之间用分号隔开。 三、扩展补充 执行多条命令的分隔号区别: 每条命令使用";"隔开,则无论前边的命令执行成功与否都会继续执行下一条命令 若命令间使用"&&"隔开,则只有前边的命令执行成功了再会继续执行后边的命令 若命令间使用"||"隔开,则只有前边的命令执行失败了再回继续执行后边的命令 四、更多 获取更多技术方面的文章,欢迎关注我的微信公众号: 来源: CSDN 作者: ted_happy 链接: https://blog.csdn.net/wanghaoyuhappy/article/details/104753378

shell生成20个用户和随机密码

≡放荡痞女 提交于 2020-03-10 05:51:13
使用shell脚本创建20个用户和随机密码为5个字符 #!/bin/bash for (( i = 1 ; i <= 20 ; i ++ )) do a = $( cat /dev/urandom | head -n 10 | md5sum | head -c 5 ) useradd user $i & > /dev/null echo user $i 用户创建成功 echo $a | passwd --stdin user $i & > /dev/null echo user $i 的密码是: $a done # tr参数 -c或—complerment:取代所有不属于第一字符集的字符; -d或—delete:删除所有属于第一字符集的字符; # 生成20个小写字母 [ root@ chenc01 ~ ] # < /dev/urandom tr -dc a-z|head -c ${1:-20};echo rtcyygupfvilxbmbxepd # 生成20个大写字母 [ root@ chenc01 ~ ] # < /dev/urandom tr -dc A-Z|head -c ${1:-20};echo LPSJTRVISRAEKMFUSXAT # 生成20个数字 [ root@ chenc01 ~ ] # < /dev/urandom tr -dc 0-9|head -c $

Linux的Login Shell & Non-Login shell

你说的曾经没有我的故事 提交于 2020-03-09 14:51:19
登录脚本的执行顺序:【注:仅适用于 bash shell】 Login Shell 是指登录时,需要提供用户名密码的shell,如:su – user1 , 图形登录, ctrl+alt+F2-6进入的登录界面。 这种Login shell 执行脚本的顺序: 1. /etc/profile 【全局profile文件;它定义了LoginUser的 PATH, USER, LOGNAME(登录使用者帐号)】 2. /etc/profile.d/目录下的脚本 3. ~/.bash_profile 【搜索命令的路径 ——————- 登录级别 环境变量配置文件 】 4. ~/.bashrc 【存储用户设定的别名和函数 ———- shell级别 环境变量配置文件】 5. /etc/bashrc 【全局bashrc文件; 它主要定义一些 Function 和 Alias;更改/etc/bashrc会影响到所有用户,由root用户管理。】 Non-Login shell 登录终端后,使用ssh 登录 其他机器! 非登录shell指的是,不需要输入用户名密码的shell,如图形下 右键terminal,或ctrl+shift+T打开的shell 这种Non-Login shell 执行登录脚本的顺序: 1. ~/.bashrc 2. /etc/bashrc 3. /etc/profile.d