大数据学习笔记(04)

大数据学习笔记(04)
bash

  1. 是什么:解释器,解释执行标准输入或文件输入

  2. source file(. file):在当前shell执行file文件

  3. bash file:开启一个子bash执行file文件

  4. 嵌套:通过bash命令可以嵌套bash

  5. 可执行文件:当给文件第一行加上#! /bin/bash并将文件改为可执行文件,直接执行,会读取第一行的/bin/bash,开启一个子bash来执行文件(也可以注释其它东西);不加注释,默认开启子bash执行文件

  6. 每一个bash会在/dev/pts/目录下生成一个虚拟终端文件
    文本流及重定向
    文本流

  7. 系统运行时,数据会在各个文件、设备之间流动,然而不同的文件和设备之间连接的方式可能各不相同,所以Unix系统定义了流,作为统一的标准

  8. 当系统执行一个命令时,会打开三个流:
     标准输入:0
     标注输出:1
     错误输出:2
    管道

  9. 作用:将不同的命令组合使用,实现复杂操作

  10. 用法:管道左边的结果会作为右边的参数

  11. 特点:
    A. 管道两边分别会打开一个子bash
    B. 父bash的变量会拷贝一份给子bash

export

  1. 作用:根据实验情况,暂且视为,将当前bash中的变量导出供父bash和子bash使用
  2. 注意:在文件中执行的命令,也会打开一个子bash执行,但是这个子bash不会像管道的子bash一样有父bash变量的拷贝
    重定向
  3. 输出重定向
    A. 不是命令
    B. 控制程序的 I/O位置
    C. ls 1> aaa(覆盖重定向):将结果输出到aaa文件中,会覆盖原内容
    D. ls 1>> aaa(追加重定向):将结果追加在原内容后面
    E. ls / /aabb 1> a 2>b:将标准输出重定向到a文件,错误输出重定向到b文件;注意,重定向的顺序由ls命令的结果决定,即ls命令先输出错误信息,那么就会先将错误输出重定向到b文件中,然后再是标准输出
    F. 将标准输出和错误输出重定向到同一个文件
     ls / /aabb 1>a 2>a
     ls / /aabb 1>a 2>&1:绑定顺序从左到右,所以需要先将1重定向到a,否则会将2输出到控制台,然后将1输出到a文件
     ls / /aabb &> a和ls / /aabb >& a:两种特殊写法
  4. 输入重定向:
    A.
    B. 输入AB结束输入;只读取第一行的输入

变量

  1. 类型:
    A. 本地:当前shell所有;生命周期随当前shell;name=god;
    B. 局部:只能用于定义它的函数;local name=god;
    C. 位置:$1取第一个参数;脚本和函数可以使用
    D. 数组:

E. 特殊:
 $#:位置参数个数
 $*:参数列表,双引号引用为一个字符串
 $@:参数列表,双引号引用为单独的字符串
 $?:上一个命令执行结果(0代表成功或true,非0代表报错或false)
 $$:当前bash的进程ID
 $BASHPID:当前bash的真实进程ID

  1. 注意:
    A. 变量和字符串同时使用时,将变量用{}括起来

B. 位置变量 12 正 确 使 用 方 式 : 12正确使用方式: 12使{12}
引用和命令替换
引用

  1. 双引号:弱引用
  2. 单引号:强引用,不可嵌套
  3. 花括号不能被引用
  4. 命令执行前会删除引用

命令替换

  1. 作用:命令的嵌套
  2. 方式:
    A. 反引号
    B. $()

表达式
算数表达式
几种写法:

  1. let c= a + a+ a+b
  2. c= [ [ [a+ b ] c = b] c= b]c=[a+b]
  3. c= ( ( (( ((a+ b ) ) c = b)) c= b))c=((a+b))
    当不需要赋值时,可以省略$符号:((a++))
    条件表达式
    两种写法:
  4. test:test 3 -gt 4
  5. [ ]:[ test 3 -gt 4 ]
    流程控制
    if、while、for:查看帮助文档
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值