groovy笔记
来源:互联网 发布:java程序设计竞赛 编辑:程序博客网 时间:2024/05/18 01:25
1. 文件查找指定字符串并替换:
println "modify AndroidManifest.xml start!"
def reg = this.args[0] //'android.intent.category.LAUNCHER';
def replaceStr = this.args[1]
println "args[0] = " + reg
println "args[1] = " + replaceStr
def newText = new StringBuffer();
try {
def manifestFile = new File("AndroidManifest.xml")
fileText = manifestFile.text;
manifestFile.eachLine { line ->
// println (line.contains(reg))
if (line.contains(reg)) {
line = line.replaceAll(line,replaceStr)
println "replace string successfully"
}
// println line
newText.append(line);
newText.append('\n');
}
manifestFile.write(newText.toString());
manifestFile.eachLine { line2 ->
println line2
}
} catch (FileNotFoundException e) {
println "modify AndroidManifest.xml error!"
}
println "modify AndroidManifest.xml end!"
2. SH 脚本方法传参: (不能在括号内定义参数,是运行时传参数个数)
如:
function groovyFuncReplaceAndroidManifest()
{
regex = $1
replaceStr = $2
cp AndroidManifest.xml AndroidManifest.groovy
groovy update_manifest_modify.groovy regex replaceStr
}
执行sh 内函数不带()
如: groovyFuncReplaceAndroidManifest "android.intent.category.LAUNCHER" ""
$# ----传递给程序的总的参数数目
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ----传递给程序的所有参数组成的字符串。
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ... $0 ----当前程序的名称
$@----以"参数1" "参数2" ... 形式保存所有参数
$$ ----本程序的(进程ID号)PID
$! ----上一个命令的PID
3. http://wenku.baidu.com/link?url=Z-pr1h3t8ZoZuD7sodGH76rQ5f8pMU0JkLqFyyUZBzSns4VcfBVe7fDwlJC3iZdCfuI2N69jTzx1ztu9LJGjGQFyeQS-cHtOVaD5MP6pvOe
判断式当中使用了两个等号‘ == ’。其实在 bash 当中使用一个等号与两个等号的结果是一样的! 不过在一般惯用程式的写法中,一个等号代表‘变数的设定’,两个等号则是代表‘逻辑判断 (是否之意)’。 由于我们在中括号内重点在于‘判断’而非‘设定变数’
-a 表示 与 , -o 表示 或
使用中括号必须要特别注意,因为中括号用在很多地方,包括万用字元与正规表示法等等,所以如果要在 bash 的语法当中使用中括号作为 shell 的判断式时,必须要注意中括号的两端需要有空白字元来分隔喔! 假设我空白键使用‘□’符号来表示,那么,在这些地方你都需要有空白键:
println "modify AndroidManifest.xml start!"
def reg = this.args[0] //'android.intent.category.LAUNCHER';
def replaceStr = this.args[1]
println "args[0] = " + reg
println "args[1] = " + replaceStr
def newText = new StringBuffer();
try {
def manifestFile = new File("AndroidManifest.xml")
fileText = manifestFile.text;
manifestFile.eachLine { line ->
// println (line.contains(reg))
if (line.contains(reg)) {
line = line.replaceAll(line,replaceStr)
println "replace string successfully"
}
// println line
newText.append(line);
newText.append('\n');
}
manifestFile.write(newText.toString());
manifestFile.eachLine { line2 ->
println line2
}
} catch (FileNotFoundException e) {
println "modify AndroidManifest.xml error!"
}
println "modify AndroidManifest.xml end!"
2. SH 脚本方法传参: (不能在括号内定义参数,是运行时传参数个数)
如:
function groovyFuncReplaceAndroidManifest()
{
regex = $1
replaceStr = $2
cp AndroidManifest.xml AndroidManifest.groovy
groovy update_manifest_modify.groovy regex replaceStr
}
执行sh 内函数不带()
如: groovyFuncReplaceAndroidManifest "android.intent.category.LAUNCHER" ""
$# ----传递给程序的总的参数数目
$? ----上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ----传递给程序的所有参数组成的字符串。
$n ----表示第几个参数,$1 表示第一个参数,$2 表示第二个参数 ... $0 ----当前程序的名称
$@----以"参数1" "参数2" ... 形式保存所有参数
$$ ----本程序的(进程ID号)PID
$! ----上一个命令的PID
3. http://wenku.baidu.com/link?url=Z-pr1h3t8ZoZuD7sodGH76rQ5f8pMU0JkLqFyyUZBzSns4VcfBVe7fDwlJC3iZdCfuI2N69jTzx1ztu9LJGjGQFyeQS-cHtOVaD5MP6pvOe
判断式当中使用了两个等号‘ == ’。其实在 bash 当中使用一个等号与两个等号的结果是一样的! 不过在一般惯用程式的写法中,一个等号代表‘变数的设定’,两个等号则是代表‘逻辑判断 (是否之意)’。 由于我们在中括号内重点在于‘判断’而非‘设定变数’
-a 表示 与 , -o 表示 或
使用中括号必须要特别注意,因为中括号用在很多地方,包括万用字元与正规表示法等等,所以如果要在 bash 的语法当中使用中括号作为 shell 的判断式时,必须要注意中括号的两端需要有空白字元来分隔喔! 假设我空白键使用‘□’符号来表示,那么,在这些地方你都需要有空白键:
0 0
- Groovy 笔记
- Groovy 笔记
- groovy笔记
- Groovy笔记
- groovy笔记
- groovy学习笔记1
- Groovy学习笔记(1)
- Groovy学习笔记
- Groovy 学习笔记 (一)
- Groovy 学习笔记 (二)
- Groovy 学习笔记 (三)
- Groovy笔记(7)_Class
- Groovy笔记(8)_File
- Groovy笔记(9)_GroovySql
- Groovy笔记(12)_Groovlet
- Groovy学习笔记-Groovlets
- Groovy 学习笔记
- Groovy闭包笔记
- C语言底层驱动格式
- 欢迎使用CSDN-markdown编辑器
- IIS7.5 500.19的解决方法 错误代码 0x8007007e
- Hello World
- 【WC2013】糖果公园 树上莫队
- groovy笔记
- 设计模式之单例模式
- js 中时间大小比较和合法性校验check(时分校验,年月日时分秒校验,年月日时分校验)
- Spark Streaming 订单关联案例剖析
- hdoj2047(阿牛的EOF牛肉串)(递推,找规律)(递归)
- 一个Hadoop的小例子
- jvm 堆栈方法区数据存放和操作流程
- java中的内部类程序实例
- spring加载配置文件的方式