简单 Shell 脚本随手录
主要是整apk gradle 打包上传蒲公英时用到了shell ,顺便记录下
一、基本 1. 声明解释器 shell 种类很多,需要声明解释器,一般第一行这样写 #!/bin/bash #!/bin/bash echo "Hello World"#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 Shell
2.注释 使用 # 开头即为注释 # 这是一个注释 3.运行shell脚本 3.1 作为可执行程序运行,比如运行 test.sh chmod +x ./test.sh #使脚本具有执行权限 ./test.sh #执行脚本,注意以 . 开始 3.2 作为解释器参数运行 /bin/sh test.sh 二、shell 语法杂烩 1.变量定义 temp="测试用的文本" temp="test string" # "="符号左右不能有空格 2.使用变量 使用$符合取值 temp="测试用的文本" echo $temp echo ${temp} # 输出:测试用的文本这里可以加 { } ,也可以不加 { } 用来确定边界, 一般习惯性要加,这样好阅读理解 3.强大的 ${} # 一个"#",表示从左起第一个指定字符 ## 两个"#",表示从左起最后一个指定字符 % 一个"%",表示从右起第一个指定字符 %% 两个"%",表示从右起最后一个指定字符 * "*",表示要删除的字符,从左查则写左删左,从右查则写右删右,这里互换无效 #!/bin/bash temp="应用名称v1.0.0_build10_release.apk" echo ${temp} # 输出:应用名称v1.0.0_build10_release.apk echo ${temp#*_} # 一个"#",表示从左起第一个“_”字符 # 输出:build10_release.apk echo ${temp##*_} # 两个"#",表示从左起最后一个“_”字符 # 输出:release.apk echo ${temp%_*} # 一个"%",表示从右起第一个“_”字符 # 输出:应用名称v1.0.0_build10 echo ${temp%%_*} # 两个"%",表示从右起最后一个“_”字符 # 输出:应用名称v1.0.0 # 联合运用,取出build大小 temp=${temp##*build} temp=${temp%_*} echo ${temp} # 输出:10 4.basename 获取文件名 temp="/Desktop/test.sh" echo $(basename ${temp}) # 输出:test.sh 5.dirname 获取目录 temp="/lxmy/Desktop/test.sh" echo $(dirname ${temp}) # 输出:/lxmy/Desktop 6.运算符 6.1 字符串运算符 = 检查字符串是否相同,相同返回true != 检查字符串是否相同,不同返回true -z 检查字符串长度是否为0,为0返回true -n 检查字符串长度是否不为0,不为0返回true
7. if、if else 注意:shell 脚本中, 流程控制不能为空,简单点说,写了if,里面就得写东西,else 也一样,不能为空 if 开头,fi 结尾,注意 if 中括号里要加空格隔开 temp="abcd" if [ -z "$temp" ]; then # 判断是否为空 echo "空的" fi if [ -z "$temp" ]; then # 判断是否为空 echo "空的" else echo "有内容" fi #!/bin/bash temp="abcd" if [ $temp ] then # 判断是否为空 echo "有内容" else echo "空的" fi
参看 http://www.runoob.com/linux/linux-shell.html http://www.52php.cn/article/p-rusqfgpy-bgv.html
END (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |