啥是shell脚本,shell脚本是linux的一种脚本语言,可以以程序的形式使用linux命令,经常用于大数据中的环境搭建(统一启动),并且很多linux软件都是由shell脚本封装聚合的。shell脚本的标识是后缀为.sh
我的第一个shell脚本
由于shell脚本在linux中直接操作,没有颜色标记,没有提示不好写。我们开发中一般用notepad++写shell脚本
ps:如果具体操作不懂,如小白的问题, 例:windows10 如何打开 运行 窗口,答案安装win + r。这些请直接百度,以后本文不做赘述
1.打开运行 窗口 ,
2.输入notepad++
由于你是用windows系统,打开notepad++默认是以windows文档的形式,这里我们需要转换格式为linux系统明白的unix格式
3.notepad++转换文档格式为unix格式
4.保存文件到任意目录下,后缀名为.sh
5.输入以下内容
这里的#! 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行
感兴趣的同学也可以试试 /bin/sh 等,更感兴趣的同学可以来这个链接里 https://blog.csdn.net/whatday/article/details/78929247
#!/bin/bash
echo "Hello World !"
6.保存后,将文件 上传到 linux虚拟机中
7.执行 命令
sh 你的文件
例如: sh /hadoop/hello.sh
查看结果
这个写完说明你会写shell了,虽然只是个demo,但是有了demo,说明你踏入了这个门,咱们现在来用它执行jar包
我的第二个shell
需要linux安装了jdk (
很多版本默认安装,我用的是纯净清洁版,是没有的
安装jdk的教程及软件
链接:https://pan.baidu.com/s/1mPJwTDOkuFIpjCnaZxzaHw
提取码:a65x )
你可能有,检查一下自己是否有jdk,版本是什么样的,如果是啥open jdk,建议卸载,根据上面jdk教程重装
1.用IDEA打包jar,咱们打包好的jar是一个能随机生成数据的jar,会在当前目录生成日志,并且设置了传入参数
jar如下
链接:https://pan.baidu.com/s/1cTRAcE3aiDBWAHSxshubEw
提取码:q218
2.上传至linux
3.测试jar是否可用,java -jar 刚刚的jar包 [参数]
例如:java -jar GenerationLog.jar 3
查看当前目录发现产生log.txt文件
1.继续notepad++新建shell脚本,名字就叫rand.sh (表示随机)
2.查找shell随机数语法
suiji=$(($RANDOM%3+1)) #生成1-3的随机数
echo $suiji #打印随机数
#!/bash/bin
suiji=$(($RANDOM%3+1))
source /etc/profile #导入环境变量
java -jar /hadoop/GenerationLog.jar $suiji #你自己的生成日志文件 的jar包路径下
使用sh直接调用,会产生数据
sh rand.sh
相当于执行 java -jar 日志生成代码.jar [生成1-3个]日志
crontab
crontab 任务调度
conrtab -e 编辑任务
crontab -l 查看任务
crontab -r 清除任务(建议不用!)
1. 使用crontab 执行 shell脚本
我们执行的是随机生成日志的脚本,并且定时每分钟一次