linux 之大数据--听课笔记

1、Shell编程

应用程序 ===》shell :命令显示器===》内核 linux ===》硬件

用户可以用shell来启动、挂起,甚至编写一些程序

脚本格式要求:

  1. 以#!/bin/bash开头
  2. 脚本需要有可执行权限

#!/bin/bash

echo "hello world!"

脚本的常用执行方式

方式1 输入脚本的绝对路径或相对路径  推荐

  1. 要赋予脚本+x权限 chmod 744  xxx.sh
  2. 执行脚本./xxx.sh  (相对路径)       ./root/home/myshell/xxx.sh(绝对路径

方式2 不用赋予脚本+x权限,直接执行 

  1. sh ./xxx.sh 

shell的变量

1)变量分为系统变量和用户自定义变量

2)系统变量:$Home  $PWD $SHELL $USER 等等

3)显示当前shell中所有变量 :set

输出系统变量

shell变量的定义

基本语法

  • 定义变量:变量=值
  • 撤销变量:unset 变量
  • 申明静态变量: readonly变量, 不能unset

 

 把一个变量提升为全局环境变量,可供其他shell使用(类似系统变量)

变量定义规则

  1. 变量名称可以由字母、数字和下划线组成,但是不能以数字开头
  2. 等号两侧不能有空格
  3. 变量名称一般为大写

将命令的返回值赋值给变量

  1. A=`ls -la` 反引号 ,运行里面的命令,并把结果返回给变量A
  2. A=$(ls -la) 等价于反引号

 设置环境变量

  • 变量名=变量值 (功能描述:将shell变量输出为环境变量)
  • source 配置文件 (功能描述:让修改后的配置信息立即生效)
  • echo $变量名 (功能描述:查询环境变量的值)

快速入门

1、在/etc/profile文件中定义 TOMCAT_HONE环境变量

  • source /etc/profilewie
  • 重启系统或者注销用户(成本高)

2、查看环境变量  TOMCAT_HONE的值

3、在另外一个shell程序中使用TOMCAT_HONE

注意:在输出JAVA_HOME环境变量前,需要让其生效  source /etc/profile

 位置参数变量   获取命令行中的参数信息

基本语法

  • $n (n为数字,$0代表命令本身     $1-$9代表第一到第九个参数,十以上的参数需要用大括号${10})
  • $*(这个变量代表命令行中所有的参数 $* 把所有的参数看成一个整体)
  • $@(这个变量也代表命令行中所有的参数)
  • $# (代表命令行中所有参数的个数)

 

预定义变量  事先已经定义好的变量,可以直接在shell中使用

  • $$(当前进程的进程号PID)
  • $!  (后台运行的最后一个进程号PID)
  • $? (最后一次执行的命令的返回状态,如果这个变量的值为0,证明上一个命令正确执行;如果这个变量的值非0.证明上一个命令执行不正确)

 

运算符

  1. "$((运算式))" 或 "$[运算式]"
  2. expr m+n
  3. expr m-n
  4. expr \*,/,% 乘,除,取余

 注意expr运算符间要有空格

 条件判断

[ condition ] ( 注意condition前后有空格)

#非空返回true  可使用$?验证(0为true , >1为false)

判断语句

两个整数的比较

  • =字符串比较
  • -lt 小于
  • -le 小于等于
  • -eq 等于
  • -gt 大于
  • -ge 大于等于
  • -ne 不等于

按照文件类型进行判断

  • -f 文件存在并且是一个常规的文件
  • -e 文件存在
  • -d 文件存在并是一个目录

流程控制

  •  if [ 条件判断 ] ;then
  •  程序
  • fi

或者

  • if  [ 条件判断 ]
  • then
  • 程序
  • elif [ 条件判断 ]
  • then
  • 程序
  • fi

case

  • case $变量名 in
  • "值1")
  • 如果变量的值等于值1,则执行程序1
  • ;;
  • "值2")
  • 如果变量的值等于值2,则执行程序2
  • ;;
  • *)
  • 如果值为其他,则执行程序3
  • ;;
  • esac

for循环

  • for 变量 In 值1 值2 值3.。
  • do
  •         程序
  • done

  • for ((初始值;循环控制变量;变量变化))
  • do
  •         程序
  • done

 while循环

  • while [条件判断式]
  • do 
  •         程序
  • done

read 读取控制台输入

read [选项][参数]

  • -p 指定读取值时的提示符;
  • -t 指定读取值时的等待的时间,如果没有在指定时间输入,就不在等待了

 函数

basename基本语法  返回完整路径 最后/的部分,用户获取文件

  • basename[pathname][suffix]
  • basename[string][suffix]
  • suffix 为后缀,如果suffix被指定了,basename 将会pathname或string中的suffix去掉

dirname   返回完整路径最后  /的前面的部分,常用于返回路径部分

自定义函数

  • [ function ] funname[()]
  • {
  •         action;
  •         [return int;]
  • }

 调用直接写函数名 

 

综合案例

crontab -e

10 2 * * * /user/sbin/mysql_db_backup.sh

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值