【大数据开发必看】shell脚本的常用语法

传递参数

  • 举例:
    >> sh test.sh 3 4 5
    
  • $#:3 传递到脚本中的参数个数
  • $0:test.sh 运行的脚本名
  • $1:3 第一个参数的值
  • $2:4 第二个参数的值
  • $*:以一个字符串的格式返回所有传递到脚本中的参数
  • $@:与$*相同,但是使用时加引号,一般用于循环遍历每个参数
  • $?:用来获取上一个命令的退出状态,或者上一个函数的返回值

if语句

  • 举例:
    SQL_RETURN=$?
    if [[ "${SQL_RETURN}" -ne 0 ]];then
          echo "INFO 执行失败......(QUIT...)"
          exit 1
    fi
    
  • 语法说明:
    if [ command ];then
         符合该条件执行的语句
    elif [ command ];then
         符合该条件执行的语句
    else
         符合该条件执行的语句
    fi
    
  • 参数说明:
    • -ne:用于判断两个整数之间是否不相等 (记忆:not equal)
    • -eq:用于判断两个整数之间是否相等 (记忆:equal)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
大数据开发中,可以使用shell脚本来完成一些自动化的任务,例如数据的抽取、转换、加载等。下面是一个示例的大数据开发shell脚本: ```bash #!/bin/bash # 设置变量 input_dir="/path/to/input" output_dir="/path/to/output" log_file="/path/to/logs" # 创建输出目录 mkdir -p $output_dir # 执行数据抽取 echo "开始数据抽取..." hadoop jar /path/to/extract.jar $input_dir $output_dir > $log_file 2>&1 # 检查抽取结果 if [ $? -eq 0 ]; then echo "数据抽取完成!" else echo "数据抽取失败,请查看日志文件:$log_file" exit 1 fi # 执行数据转换 echo "开始数据转换..." spark-submit --class com.example.transform /path/to/transform.jar $output_dir > $log_file 2>&1 # 检查转换结果 if [ $? -eq 0 ]; then echo "数据转换完成!" else echo "数据转换失败,请查看日志文件:$log_file" exit 1 fi # 执行数据加载 echo "开始数据加载..." hadoop jar /path/to/load.jar $output_dir > $log_file 2>&1 # 检查加载结果 if [ $? -eq 0 ]; then echo "数据加载完成!" else echo "数据加载失败,请查看日志文件:$log_file" exit 1 fi echo "所有任务完成!" ``` 这个示例脚本通过hadoop jar命令执行数据的抽取和加载,通过spark-submit命令执行数据的转换。脚本中使用了变量来设置输入目录、输出目录和日志文件路径,你可以根据实际情况进行修改。同时,脚本中使用了条件判断来检查任务的执行结果,如果任务失败,则会打印错误信息并退出脚本。最后,脚本会输出所有任务完成的提示信息。 请注意,这只是一个示例脚本,实际使用时需要根据具体的需求和环境进行修改。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值