shell使用参考示例

shell使用参考示例

1.如下脚本是自己写的一个项目的启动脚本,正好最近在学习shell,就把他写出来供以后参考:

#!/bin/bash
if [ 1 = 0 ];then
cat << HELP
######################################################
             run glede program....
######################################################
HELP
fi
#定义函数
help(){
  #HELP~HELP的中间部分为输出(省略了大量的echo了)
  cat << HELP
    This is a function to run oozie
    Usage: run -param,example:run -ra
    OPTIONS:
    -h   get help
    -rp  replace pig file and workflow.xml to new file
    -ra  run oozie workflow
HELP
  exit 0
}
#对HDFS的综合操作
operateHDFS(){
 #清空hdfs中指定内容
 hadoop fs -rmr workflow
 #创建HDFS相关目录
 hadoop fs -mkdir workflow/apps/glede/lib
 hadoop fs -mkdir workflow/data/glede/input-data
 hadoop fs -mkdir workflow/data/glede/output-data
 hadoop fs -mkdir workflow/share-lib
#上传文件至HDFS
 hadoop fs -copyFromLocal $OOZIE_HOME/share/lib/* workflow/share-lib
 hadoop fs -copyFromLocal ../../lib/* workflow/apps/glede/lib
 hadoop fs -put ../pig/testData/part-m-00000.lzo workflow/data/glede/input-data
 hadoop fs -put ../pig/testData/category.csv workflow/data/glede/input-data
 hadoop fs -put ../pig/testData/cat_mapping.csv workflow/data/glede/input-data
 hadoop fs -put ../pig/myPig.pig ../workflow.xml ../wf-job.properties workflow/apps/glede;
}
#运行oozie中的工作流
runOozie(){
 echo "run a oozie workflow...."
 oozie job -oozie http://localhost:11000/oozie -config ../wf-job.properties -run
}
#替代pig和workflow.xml文件
replace(){
 hadoop fs -rmr workflow/apps/glede/myPig.pig;
 hadoop fs -rmr workflow/apps/glede/clearTable.sh;
 hadoop fs -rmr workflow/apps/glede/workflow.xml;
 hadoop fs -put ../pig/myPig.pig ../workflow.xml ../job.properties workflow/apps/glede;
 hadoop fs -ls workflow/apps/glede;
}
#运行操作HDFS和oozie工作流程
runAll(){
 operateHDFS;
 runOozie
}
runReplace(){
 replace
 runOozie
}
#如果参数个数为0,则调用help()函数
if [ $# = 0 ];then
  help
fi
#循环遍历参数,做相应处理
while [ -n "$1" ];do
case $1 in
     -h)help;shift 1;;#function help is called
    -ro)runOozie;shift 1;;
     -ra)runAll;shift 1;;
     -rp)runReplace;shift 1;;
     -*)echo "error:no such option $1. please input -h for help";exit 1;;
     # *)break;;
      *)echo "error:illegal param,please input correct format param as '-oneParam'";break;;
esac
done










  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值