大数据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

直接以绝对路径方式执行

shell基本语法

系统变量

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

 

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

 

自定义变量

变量名=变量值

规则:

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

等号两侧不能有空格

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

 

赋值时使用引号:

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

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

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

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

取消变量:

unset 变量名

" "和' '区别

 

特殊变量:

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

$*:参数的内容

$$:当前shell进程的pid值

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

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

$N 第N个参数

 

运算符

算数运算

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

 

常用运算符

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

 

 

条件测试

test命令

格式 test 条件表达式

        [空格条件表达式空格]

文件测试

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

常用测试操作符

-d:测试是否为目录

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

-f:测试是否为文件

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

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

文件权限测试

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

-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

多分支结构

if条件测试操作1

    then 命令序列1

elif 条件测试操作2

    then 命令序列2

else

    命令序列3

fi

 

case语句

case 变量值 in

模式1)

命令序列1

;;

模式2)

命令序列2

;;

...

*)

默认命令序列

esac

 

循环语句

for循环

for 变量名 in 取值列表

do

    命令序列

done

 

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

do

     程序段

done

while语句

while 条件测试操作

do

命令序列

done

 

综合示例

99乘法表

猜字游戏

强调 空格!空格! 空格!

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值