Linux shell脚本

简介

Shell Script,Shell脚本与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。

shell和shell脚本的区别

shell和shell脚本有什么区别?确切一点说,Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。 Shell本身是一个用C语言编写的程序,它是用户使用Linux的桥梁。Shell既是一种命令语言,又是一种程序设计语言(就是你所说的shell脚本)。作为命令语言,它互动式地解释和执行用户输入的命令;作为程序设计语言,它定义了各种变量和参数,并提供了许多在高阶语言中才具有的控制结构,包括循环和分支。它虽然不是 Linux系统内核的一部分,但它调用了系统内核的大部分功能来执行程序、创建文档并以并行的方式协调各个程序的运行。

脚本简介

打开文本编辑器(可以使用vi/vim命令来创建文件),新建一个文件test.sh,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了。
输入一些代码,第一行一般是这样:

#!/bin/bash
echo "Hello World !"

“#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell。
echo命令用于向窗口输出文本。

定义变量规则

变量名=值

shell定义变量的规则:
	1:等号两边不能有空格
					
	2:定义特殊的变量需要用单引号或者双引号结合
	       
	3:定义linux命令需要用反单引号

	区分单引号和双引号的不同和相同点

#### Shell脚本的规则 1:脚本名称使用.sh结尾

第一行的内容指定了shell脚本解释器的路径,而且这个指定路径只能放在文件的第一行

2:第一行必须写# !/bin/bash

在这里插入图片描述

3:输入语句用read

在这里插入图片描述

在这里插入图片描述

4:输出语句用:echo

在这里插入图片描述

注意点:read可以传递多个数据 read –p”name and passwoed”name password

  • 超过的部分都填充在最后一个变量上

If语句(分支结构)

格式:

if [ 条件 ]
then
语句
else
语句
fi

在这里插入图片描述

在这里插入图片描述

If语句(分支结构)

if [ 条件 ]
then
语句
elif [ 条件 ]
then
语句
......
else
语句
fi

在这里插入图片描述
在这里插入图片描述

注意点:
1: if后面有空格, 2:条件两边有空格, 3:if条件里面存在变量,需要$,而且变量两边需要双引号, 4:if是结束标识
命令:ls |wc -l

Case循环语句

case规则


case $变量名 in
"值")
语句;;
"值")
语句;;
.....
esac

在这里插入图片描述
效果:

在这里插入图片描述

值可以是字符串也可以是数字, 如果数字范围[0-9]


case $变量名 in
[])
语句;;
[])
语句;;
.....
esac

在这里插入图片描述
效果:

在这里插入图片描述

For循环

for 变量  in   列表
do
语句
done

在这里插入图片描述

在这里插入图片描述

  • 试想列表中的元素过多的时候,需要怎么做?
for 变量  seq mix step max
do
语句
done

注意:mix 开始数据 step:间隔 max 结束数据,如果step为1,可以省略

在这里插入图片描述

在这里插入图片描述

While循环

while [ 条件 ]
do
语句
done

注意:结束doneWhile后有空格, 参数之间也注意

在这里插入图片描述
效果:

在这里插入图片描述

函数

定义格式
         函数名(){代码	}
调用格式
          函数名

在这里插入图片描述
效果:

在这里插入图片描述

参数传递
函数中的参数
	使用$n来接收数据

在这里插入图片描述
效果:

在这里插入图片描述

返回值

Shell中函数中默认存在返回值
查看函数的返回值$?


效果:

在这里插入图片描述

在这里插入图片描述

效果:

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值