{
香港vps云主机 云服务器 月付 租用超国内大带宽稳定高速 可试用 :http://www.soar-clouds.com/
}
2016.3.7
一.SonarQube配置(多谢同事雷哥的指导)
1.安装MySQL
参考:http://jingyan.baidu.com/article/425e69e6bbc6c7be14fc1640.html
2.登陆MySQL创建数据库sonar,创建数据库时指定数据库的编码方式为utf8:
CREATE DATABASE sonar DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
注意:分号不可少。
3.sonarqube-5.3和sonar-scanner:
(1) 下载地址:
https://sonarsource.bintray.com/Distribution/sonarqube/sonarqube-5.3.zip
http://docs.sonarqube.org/display/SONAR/Analyzing+with+SonarQube+Scanner
(2)下载到/etc目录下后,再解压到某一目录,(这里在/usr下新建目录 mkdir sonar)
# cd /usr/sonar
# sudo unzip /etc/sonarqube-5.3.zip
# sudo unzip /etc/sonar-scanner-2.5.zip
(2)配置环境变量,同时将SONAR_RUNNER_HOME变量加入PATH:
# gedit /etc/profile
保存修改 :
# source /etc/profile
(3)编辑 /usr/sonar/sonarqube-5.3/conf/sonar.properties文件,/usr/sonar/sonar-scanner-2.5/conf/sonar-runner.properties文件:
解除注释(即去掉#)并填写实际值:
sonar.jdbc.username=[数据库用户名]
sonar.jdbc.password=[数据库密码]
sonar.jdbc.url=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true&useConfigs=maxPerformance
(4)运行:
# cd /usr/sonar/sonarqube-5.3/bin/linux-x86-64
# ./sonar.sh start
#./sonar.sh status
可以在浏览器上访问:http://localhost:9000
4. 分析工程实例:
(1)下载实例:https://github.com/SonarSource/sonar-examples/archive/master.zip
(2)解压到/usr/sonar下:sudo unzip sonar-examples-master.zip
(3)运行:
# cd /usr/sonar-example/sonar-examples-master/projects/languages/java/sonar-runner/java-sonar-runner-simple
# /usr/sonar/sonar-scanner-2.5/bin/sonar-runner
5.分析项目时,可能会遇到问题,缺少插件:
登录SonarQube管理控制台,Administrator -> System-> Update Center -> Avaliable
在这里可以找到所有sonar支持语言的插件,装完插件之后重启sonar就行了。
二.命令(学习网址http://www.shellcn.net/)
1.变量:
shell声明变量无需关键字或变量符号。如果字符串中有空格,&等特殊符号,字符串必须加引号(单引号双引号都可以);shell变量必须以字母或者下划线开头,不能以数字开头;变量名前加$符号来引用变量。
var1=www.shellcn.net
echo $var1
2.If判断语句:
then和fi必不可少,而且必须换行,或者以;结尾,否则报错;elif等于else if + fi。
[ ]符号与其中的判断语句必须有空格,否则报错"command not found"。
== 两边必须有空格,否则报错或者当做一整个字符串对待。
site=www.shellcn.net
if [ $site == ww.shellcn.net ]
then echo "脚本编程网"
else if [ $site == www.shellcn.net ]
then echo "yes"
fi
fi
3.for 循环语句:
for((i=0;i<10;i++))
do echo "shellcn.net"
done
(1)do和done不可少,必须换行或者跟在;号后面。
(2)以(( ))括起来,而不是[ ]。
4.case语句:使用shell case语句来对某个变量进行多次判断。
case "变量名" in
字符串) ......;;
字符串) .....;;
esac
(1);;是两个分号
(2)esac不可少
(3)换行或;不可少
(4)......为任意我们希望执行的语句
first=banana
case "$first" in
apple|APPLE) echo "THE FRUIT is apple";;
banana|BANANA) echo "THE FRULT is banana";;
orange|ORANGE) echo "THE FRULT is orange";;
esac
5.for in语句:
for 变量名 in 列表
do ...
done
列表可以是以下形式:
(1)直接 {}括起来的列表,如{1,2,3}
(2)模式匹配文件名,如shellcn开头的文件 shellcn*
(3)命令的执行结果,如`ls`,ls出来的所有文件列表,注意是``号
for var in {a,b,c}
do echo $var
done
for var in `ls`
do echo $var
done
for var in shellcn*
do echo $var
done
三个例子分别输出换行的a,b,c、ls出来的所有文件名、shellcn开头的所有文件名。
6.while语句 :等价于for循环。
i=0;
while ((i<10))
do echo “www.shellcn.net"
let i++;
done
7.until语句:
(1)用于等待条件符合时,就不执行对应语句。
在等待某个条件就立刻退出循环,until语句是个不错的选择。
i=0
until ((i>10))
do echo $i
let i++;
done
8.函数:一段单独的程序代码,用以执行一些定义完整的单项工作。
(1)直接用函数名称调用,无需括号;
(2)如果没有写return语句,函数默认返回最后一个执行命令的退出状态,等同于return $?
function_name( )
{
command
return 返回值
}
9.数组:
(1)shell数组定义
array_name=(1 2 3 4 5)
(2)shell数组单个元素赋值
array_name[3]="shellcn"
(3)shell数组元素访问
echo ${array_name[3]}
(4)获得数组元素总数
echo ${#array_namer[*]}
三.总结:
1.完成SonarQube安装。
2.分析项目不成功,出现问题,今天着重解决。
3.没有完成的任务:了解Maven,写替换脚本。
4.2016.3.8计划:完成上面的2和3.