您的位置:首页 > 大数据

大数据学习之路----linux系统的shell脚本编程(一)

2019-06-09 23:55 274 查看

一、什么是linux系统
linux系统诞生于1991 年10 月5 日,一直以开源的方式存在,经过很多的程序员的开发演变成现在使用的linux系统,一个是企业版,一个是个人版
二、shell编程开始
shell编程是类似于我们学习的C语言、C++、Java、PHP…等开语言,也有他自己的属性、方法、运算方式
三、变量
shell脚本定义变量和Java的变量定义不一样,Java遵从‘万物皆对象’的原则,把所有我们需要操作的元素定义为对象,然后进行一系列的操作及运算,而shell脚本编程则是以read来读取数据,最重要的一点就是shell的元素没有类型,所有的定义的变量可以定义为任何类型,这里我就拿C语言和shell脚本编程进行对比,毕竟所有的语言都是从C语言演变过来的,所以有很多相似之处。
shell变量有三种
1.本地变量
例:name=god
普通的变量定义,直接将等号后面的赋值给前面的变量
2.局部变量
只能写在方法内的变量,和Java中的局部变量一样 : local 变量
3.环境变量
环境变量使用exprot定义 我们在配置系统环境变量中会见到
4.特殊变量
$$----------------shell当前的进程ID号
$#----------------获取参数
$*----------------获取某一个位置的参数($1 $2…)通过{}来确定一个整体
$@ ------------获取某一个位置的参数 等同于上一条
$?-------------输出上一条指令的执行状态 (0为执行正确,其他为错误)
$BASHPID-----打印当前进程的实际id
四、运算符
shell脚本编程同样和C语音一样拥有运算符,也会结合变量创建出表达式
1.算数运算符
与C语言一样
加、减、乘、除、符号没变,但是在我们运算时乘法需要在算数表达式中进行转译,否则被视为识别全部符号
算数表达式
① $((算数表达式))
② ’ expr 算数表达式 ’ 注:表达式中操作数及运算符之间要有空格,而且要使用命令引用
2.条件运算符
-eq 检测两个数是否相等,相等返回true
-ne 检测两个数是否不相等,不相等返回true
-gt 检测左边的数是否大于右边的,如果是,则返回true
-lt 检测左边的数是否小于右边的,如果是,则返回true
-ge 检测左边的数是否大于等于右边的,如果是,则返回true
-le 检测左边的数是否小于等于右边的,如果是,则返回true
五、控制循环
shell脚本语言与C语言一样,也拥有流程控制,但是不能为空
1.if判断
if commands
then
commands
fi
如果有其他条件需要再次进行判断
if commands
then
elif commands
then
commands
else commands
fi
2.case 选择判断
shell脚本编程与C语言中的switch…case不一样,它是以case开头,选项是以“选项)”来进行运算的
case 变量 in
1)
commands
;;

esac
3.while循环
while commands
do
commands
done
无限循环
while :
do
commands
done
4.for循环(三种方法)
第一种:
for i in 1 2 3 4 5
do
commands
done
第二种:
for i in ‘seq 1 10’ 表示i的最小值是1、最大值是10 需要在命令中写递增
do
commands
done
第三种:
for ((i=0;i<10;i++))
do
commands
done

无线循环
for((; ;))
do
commands
done

六、总结
shell脚本编程会在以后我们对于大型数据处理起到一个关键的作用,而且它也有很多与C语言相似的地方,所以只要你学会C语言,它其实并不难,掌握其语法就很简单。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: