shell脚本

运行脚本三种:sh make.sh  ./make.sh  . make.sh  

给脚本添加执行权限:chmod  +x make.sh  

********make.sh编译java文件********

  1. export PATH=$PATH:/usr/java6/bin:.
  2. echo "PATH $PATH   ok"
  3. export CLASSPATH=$CLASSPATH:lib/log4j-1.2.9.jar:.
  4. javac src/*.java -d classes
  5. cd classes
  6. cp ../report.conf .
  7. 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脚本不可随意加多个空格,清楚' '和“ ”在脚本中的区别!

原文地址:https://www.cnblogs.com/confidentljw/p/7876241.html