当前位置: 首页 > article >正文

【LInux】Shell脚本编写基本语法

文章目录

  • 一、前期准备
    • 1、查看本机bash
    • 2、编辑脚本
  • 二、 判断结构
    • 1、if结构
    • 2、if/else结构
    • 3、if/elif/else结构
    • 4、case结构
  • 三、循环结构
    • 1、for循环
    • 2、while循环
    • 3、until循环
  • 四、谢谢观看!

一、前期准备

1、查看本机bash

which bash

在这里插入图片描述
之后编写脚本时,第一行要写入此位置。

2、编辑脚本

vi 脚本名    #名字可以随便其,后缀为.sh

进入后,点击 i ,进入编辑模式,开始编写内容。
编写完成之后,点击esc,之后输入 :wq,保存并退出。

二、 判断结构

Shell提供的常用判断结构:if、if/else、if/elif/else 、case

1、if结构

格式:

if 判断条件
then
	命令语句
fi

if 判断条件; then
	命令语句
fi

若判断条件为真,执行命令语句。
例,编写一个脚本jyan.sh,判断在当前目录下是否存在名为name.yaml的文件。
(注:-e 判断文件是否存在)

#脚本内容

#!/usr/bin/bash
if [ -e name.yaml ]; then
	echo "file exsit!!!"  #若文件存在,打印file exsit!!!
fi

修改脚本权限为可执行。

chmod +x jyan.sh

在这里插入图片描述

2、if/else结构

格式:

if 判断条件
then
	命令语句1
else
    命令语句2
fi

例,编写脚本jyan2.sh,读取输入的字符串,判断字符串为空,输出为空,若不为空,输出字符串。(-z 判断字符串是否为空)

#脚本内容

#!/usr/bin/bash
read str    #读取字符串
if [ -z "$str" ]; then
	echo "str is null"  #若字符串为空,打印
else
	echo $str
fi

在这里插入图片描述

3、if/elif/else结构

格式:

if 判断条件; then
	命令语句1
elif 判断条件; then
    命令语句2
……
else
	命令语句3
fi

例,编写脚本jyan3.sh,读取学生成绩,判断级别。

#脚本内容

#!/usr/bin/bash
read score    #读取
if [ $score -lt 0 -o $score -gt 100 ]; then    #判断分数是否在0~100内
	echo error             #不在,打印error
elif [ $score -ge 90 ]; then          #大于等于90
	echo A
elif [ $score -ge 80 ]; then          #大于等于80
	echo B
elif [ $score -ge 70 ]; then          #大于等于70
	echo C
else								  #70以下
	echo D                            
fi

在这里插入图片描述

4、case结构

格式:

case "$var" in
var1) 
	命令语句1;;
var2) 
	命令语句2;;
var3) 
	命令语句3;;
……
*)
	命令语句n;;
esac

var分别与var1、var2、var3……进行比较,若相匹配,执行语句,后跳转到esac结束。
若未匹配成功,执行*后语句。

#!/usr/bin/bash
read day
case "$day" in
1)
	echo 2;;
2)
	echo 3;;
*)
	echo error;;
esac

在这里插入图片描述

三、循环结构

break,continue与在C语言中用法相似,跳出循环。
break:直接退出循环。
continue:退出本次循环,执行下一次循环。

1、for循环

格式:

for var in 读取列表
do
	命令语句
done

do ……done之间的是循环体,循环的时候,会从读取列表中依次读取一个数赋给var,直到列表中的值被读取完。
例,编写脚本,循环输出1~5.

#!/usr/bin/bash
for var in 1 2 3 4 5   #或 for var in{1..5}
do
	echo $var
done

在这里插入图片描述

2、while循环

格式:

while 判断条件   #当条件为假时,退出循环
do
	命令语句
done

例,循环输出1~5

#!/usr/bin/bash
num=1
while (( $num <=5 ))
do
	echo $num
	let num++     #使用let命令,使num自增
done

在这里插入图片描述

3、until循环

格式:

until 判断条件   #当条件为真时,退出循环
do
	命令语句
done

其用法与while相似,只是判断条件有所不同。

四、谢谢观看!

参考书籍:《Linux系统管理与自动化运维》黑马程序员/编著。


http://www.kler.cn/news/364425.html

相关文章:

  • 基于深度学习的音乐生成与风格转换
  • 怎么提取pdf的某一页?批量提取pdf的某一页的简单方法
  • COVON全意卫生巾,轻薄透气,绵柔速干,马来西亚热销中
  • 【Vispy库】一个用于高性能交互式2D/3D数据可视化库 Python库
  • 【实战案例】Django框架表单处理及数据库交互
  • 1024程序员节的来源
  • 快速获取 GitHub 个人资料成就徽章
  • LinkedList 源码分析
  • 数据清洗的具体方法有哪些?
  • 数字+文旅:虚拟数字人盘活景区文化旅游资源新策略
  • ajax 读取文件
  • Erric Gamma 关于resuable code的采访
  • Rust小练习,编写井字棋
  • Python异常检测- DBSCAN
  • ASP.NET MVC-font awesome-localhost可用IIS不可用
  • 51单片机快速入门之 串行通信 2024/10/21
  • Android Activity SingleTop启动模式使用场景
  • webpack生成的SourceMap更改生成路径
  • Python 打包成 EXE 的方法详解
  • 管理类联考 信息整理和经验分享
  • 洞察数据之美:用可视化探索销售与温度的关系
  • Java中String、StringBuffer和StringBuilder的区别是什么?
  • 【赵渝强老师】Oracle的参数文件与告警日志文件
  • 微信小程序25__实现卡片变换
  • Qt 学习第 天:线程与多线程
  • 4个在线抠图网站,AI一键智能抠图,3秒抠出!