大数据Linux基本命令四

shell编程:

shell概述:

Shell是一个功能强大的编程语言,易编写,易调试,灵活性较强

Shell是解释执行的脚本,在shell中可以直接调用Linux系统命令

shell基本格式

代码写在普通文件中,通常以.sh结尾

1 #!/bin/bash 表示用哪一种shell解释器来解释执行我们的这个程序

2 写完保存退出

shell执行方式

sh方式

sh .sh 直接指定用系统默认的bash shell解释执行

source方式

概述:source命令也称为"点命令",也就是一个点符号(.),是bash内部命令

使Shell读入指定的shell程序文件并以依次执行文件中的所有语句

注: .和脚本之间是有空格的

直接执行该脚本文件

可以有两种方式,不过这两种方式的执行,都需要该文件有执行权限,所以在执行之前,我们需要更改他的执行权限

chmod 755 .sh

./ .sh

直接以绝对路径方式执行

大数据Linux基本命令四_第1张图片

shell基本语法

系统变量

通过set命令查看系统变量:

大数据Linux基本命令四_第2张图片

 

常用的系统变量:echo $PWD echo $SHELL echo $USER echo$HOME

大数据Linux基本命令四_第3张图片

 

自定义变量

变量名=变量值

规则:

变量与变量内容以一个等号来连结

等号两侧不能有空格

变量名以字母或下划线开头,区分大小写,建议全大写

 

赋值时使用引号:

双引号:允许通过$符号引用其变量值

单引号:禁止引用其他变量值,$视为普通字符

反撇号:命令替换,提取命令执行后的输出结果,也可用$(命令)(括号里面必须是命令

从键盘输入内容变为赋值 read[-p '提示信息'] 变量名

取消变量:

unset 变量名

" "和' '区别

 

特殊变量:

$#:表示参数的个数,常用于循环

$*:参数的内容

$$:当前shell进程的pid值

$?:前一命令返回的状态值(0为正常)

$0:表示当前脚本的名称

$N 第N个参数

 

运算符

算数运算

格式:expr变量1 运算符 变量2 [运算符 变量3]

 

常用运算符

+ - \* / %(求模(取余)运算)

 

 

条件测试

test命令

格式 test 条件表达式

        [空格条件表达式空格]

文件测试

格式:[ 操作符 文件或目录 ]

常用测试操作符

-d:测试是否为目录

-e:测试文件目录或文件是否存在(exit)

-f:测试是否为文件

-b:该文件是否存在且为一个块设备文件

-L:该文件是否存在且为一个链接

大数据Linux基本命令四_第4张图片

文件权限测试

格式:[ 操作符 文件或目录 ]

-r:测试当前用户是否有权限读取

-w:测试当前用户是否有权限写入

-x:测试当前用户是否有权限执行

-s:测试该文件是否存在且为非空文件

 

整数值比较

格式 [整数1 操作符 整数2]

常用的测试操作符

-eq:等于

-ne:不等于

-gt:大于

-lt:小于

-le:小于或等于

-ge:大于或等于

 

字符串比较

格式:

[ 字符串1 == 字符串2 ]

[ 字符串1 != 字符串2 ]

[ -z 字符串 ]

常用的测试操作符

=:字符串内容相同

!=:字符串内容不同

-z 字符串内容为空

控制流程

if语句的结构:

单分支结构

if 条件测试操作

    then 命令

fi

双分支结构

if 条件测试操作

    then 命令

else

命令

fi

大数据Linux基本命令四_第5张图片

多分支结构

if条件测试操作1

    then 命令序列1

elif 条件测试操作2

    then 命令序列2

else

    命令序列3

fi

 

大数据Linux基本命令四_第6张图片

case语句

case 变量值 in

模式1)

命令序列1

;;

模式2)

命令序列2

;;

...

*)

默认命令序列

esac

大数据Linux基本命令四_第7张图片

 

循环语句

for循环

for 变量名 in 取值列表

do

    命令序列

done

 

for((初始值;限制值;执行步阶))

do

     程序段

done

大数据Linux基本命令四_第8张图片

while语句

while 条件测试操作

do

命令序列

done

大数据Linux基本命令四_第9张图片

 

综合示例

99乘法表

大数据Linux基本命令四_第10张图片

猜字游戏

强调 空格!空格! 空格!

大数据Linux基本命令四_第11张图片

 

你可能感兴趣的:(大数据Linux相关知识)