大数据day2~shell编程

shell编程

是一个用C语言的编写的程序

shell编程根java、php编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以啦

Linux的shell种类众多,一个系统可以存在多个shell,可以通过cat/etc/shells命令查看系统中安装的shell

Bash也是大多数Linux系统默认的shell

u+x  user

g     group

o     other

a    all

1.shell编程

1.文件名无要求 但要见名知义 通常 .sh结尾

2.文件开头特定约束 #!/bin/bash   (不写也行)

3.shell要授权   执行权限

4.shell调用

全路径  /root/shelltest/1.sh

当前路径 ./1.sh

sh+相对路径  sh 1.sh

shell变量

变量=值  如 your_name="itcast.cn"  注意:变量名和等号之间不能有空格

变量的使用:

在变量前加$即可

your_name="itcast.cn"

echo $your_name or echo ${your_name}  加括号帮助识别边界

readonly 命令只读

unset 删除变量

2.变量类型

局部变量:仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量

环境变量:所有程序包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其运行,可以通过set命令查看当前环境变量

shell变量:是由shell程序设置的特殊变量,shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行

直接命令行敲shell命令和把命令写在shell脚本中区别

  • shell加本就是shell命令加上逻辑的集合,相当于shell的批处理
  • shell脚本执行顺序  从左到右从上到下

3.shell参数传递

脚本内获取参数的格式为:$n    n为第n个参数  $0当前脚本名称

大数据day2~shell编程

4.shell运算符

expr是表达式计算工具,使用它能完成表达式的求值操作

例如两个数相加

val=`expr2 + 2`

echo $val

注意:表达式和运算符之间要有空格

完整表达式要被``(反引号)包含 EXC下面的反引号

大数据day2~shell编程

5.语句

if语句

大数据day2~shell编程

for语句

大数据day2~shell编程

while语句

大数据day2~shell编程

case语句   模式间用2个英文;;分开

大数据day2~shell编程

大数据day2~shell编程

6.函数使用

把常用的共用的逻辑封装起来方便使用

函数定义在前

exit code 0 正常   非0 异常

system.rxit(0)

大数据day2~shell编程

函数参数  当n>10时,使用${n}来获取参数