shell脚本
运行脚本三种:sh make.sh ./make.sh . make.sh
给脚本添加执行权限:chmod +x make.sh
********make.sh编译java文件********
- export PATH=$PATH:/usr/java6/bin:.
- echo "PATH $PATH ok"
- export CLASSPATH=$CLASSPATH:lib/log4j-1.2.9.jar:.
- javac src/*.java -d classes
- cd classes
- cp ../report.conf .
- jar -cf ../report.jar *.class report.conf
export 命令用于设置或显示环境变量
echo 输出javaJDK路径
javac编译成Liunx识别的classes文件
cp 复制
jar 是随 JDK 安装的,在 JDK 安装目录下的 bin 目录中,Windows 下文件名为 jar.exe,Linux 下文件名为 jar
jar -cf ../report.jar *.class report.conf
该命令没有执行过程的显示,执行结果是在当前目录生成了 report.conf 文件。如果当前目录已经存在 report.conf,那么该文件将被覆盖。
********make.sh end********
shell支持if for循环(do done想当于java中for循环的大括号{})
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
at 定时任务每天需要写一遍(不常用)
crontab
* * * * * *************
分 时 日 月 周
在以上各个字段中,还可以使用以下特殊字符:
星号(*):代表所有可能的值,例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作。
逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”
中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”
正斜线(/):可以用正斜线指定时间的间隔频率,例如“0-23/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。
查看crontab服务状态:service crond status
手动启动crontab服务:service crond start
which echo(获取echo命令的全路径)
学习地址:http://www.runoob.com/linux/linux-yum.html
注:Linux中文件后缀名.sh只是给开发人员判断该文件是脚本,可自定义文件后缀名;shell脚本不可随意加多个空格,清楚' '和“ ”在脚本中的区别!