学习大数据笔记2019-6-9

铺垫linux系统shell脚本的学习


shell脚本可以简化程序员在大批量集群条件下的操作,将一些命令编辑成脚本语言运行,简单的运行脚本便可实现所需编译功能。
又为何要选择在linux上进行练习呢?linux具有开源,免费。并且能跟据需求安装各种文件,linux的所有命令以文件的形式存储在系统上。并且简化版的的linux系统占磁盘空间很小400左右大小。而我安装的图形化界面安装驱动的需要2G左右大小磁盘。
下面开始记录今日,学习内容:
首先了解下数据流,它是输入(input)和输出(output)之间的连接,数据流作用有:传输变量、计算逻辑(例let、test)、控制循环等。输入可以用数字0表示,输出分为正确输出和错误输出两种,正确输出为1,错误的输出为2。输出的标志“>”,输入的标志“<”。
例子;ls / /aabb (默认指向控制台) 我的目录下没有aabb文件
这里条语句中一个正确输出一个错误输出,当ls / /aabb 1>test.log 2>test.log这时后面的输出会覆盖前者的输出,如过想要将两个输出都写入test.log中需要ls / /aabb 1>test.log 2>&1将2与1合并
一起写入test.log中。还可可用符合(>>)进行追加。
运行shell脚本的方法一、bash 文件名 ;方法二、 source 文件名 ;方法三 、 ./文件名 (注意要先改文件的权限用chmod命令进行修改,rwx 数值分别是421对应的是二进制位置的值)。
shell中变量
本地变量 变量名=值
局部 local 只能应用于函数
环境 export
特殊 $$ 文件的进程
$# 获取参数的个数
$* *表示数值,可获取对应位置上的变量值 $1 、$2、 ${}({}代 表一个整体)
$@ 等同与$*
$? 输出上一条指令的执行状态 0为正确执行 其他全为错误
$BASHPID 某个文件进程的子进程
运算符
最常用的运算
$((算数表达式)) 例:C=$(($A + $B))
expr 算术表达式
注意:表达式中各个错左数及运算符之间要有空格。而且要使用命令引用
c=`expr $A + $B`

常用的控制语句:
1、if语句
if commands
then
commands
elif
commands
then
commands
else
commands
fi
2、for循环
1)for name in 1 2 3 4 5
do
commands
done
2) for ((i=1;i<=5;i++))
do
commands
done
3)for循环嵌套
如:九九乘法表
在这里插入图片描述
3.while循环
while commands
do
commands
done
例子:i=10
while(i>=1)
do
i–;
println(i);
done
4.case name in 相当于switch选择
case 变量名 in
匹配的值) commands ;;
…;;
esac
补充:为了实现无限循环可用while、for循环配合continue、break进行操作

练习:
在这里插入图片描述
实现:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/gzzBlogs/article/details/91359764
今日推荐