大数据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当前脚本名称
4.shell运算符
expr是表达式计算工具,使用它能完成表达式的求值操作
例如两个数相加
val=`expr2 + 2`
echo $val
注意:表达式和运算符之间要有空格
完整表达式要被``(反引号)包含 EXC下面的反引号
5.语句
if语句
for语句
while语句
case语句 模式间用2个英文;;分开
6.函数使用
把常用的共用的逻辑封装起来方便使用
函数定义在前
exit code 0 正常 非0 异常
system.rxit(0)
函数参数 当n>10时,使用${n}来获取参数