Linux Shell——基本语法(变量、流程控制)

发布时间:2023年12月18日

??最近学习了shell脚本,记录一下相关语法

一、变量

?? 变量是很重要的,是用于存储数据值的容器

变量名要遵循以下规则:
(1)只能包含字母、数字和下划线
(2)不能以数字开头
(3)不能使用shell关键字

  1. 定义变量
    语法:var_name=value

等号之间不能有空格

在这里插入图片描述

  1. 使用变量
    语法:$var_name 或者 ${var_name}

在这里插入图片描述

  1. 只读变量
    定义变量之后 , 使用 readonly 变量名 命令将变量变为只读

只读变量不能被修改

在这里插入图片描述

  1. 删除变量
    变量定义之后可以删除,但是只读变量不能被删除
    语法:unset 变量名

在这里插入图片描述

  1. 变量类型
    shell的变量是有类型的,下面介绍常用的几种,分别是字符串、整数变量、数组变量、环境变量、特殊变量
    5.1 字符串
    字符串可以用单引号、也可以用双引号,但是两者是有区别的,单引号括起来的字符串输出时带有变量是无效的,会原样输出,双引号则相反
    下面介绍几种字符串常用操作:
str = 'linux shell'
字符串拼接   'str'$str'str'
获取字符串长度 ${#str}
提取子字符串  ${str:start:end}

在这里插入图片描述
5.2 整数变量
语法:declare -i 变量名=变量值

使用declare -i 可以定义一个整数变量,如果变量值是非整数,则变量会被赋值为0

5.3 数组变量
语法:declare -A 数组名=数组列表

使用 declare -A 可以定义一个数组变量

5.4 环境变量

5.5 特殊变量
特殊变量具有特殊的含义:

常见的特殊变量有以下:
$0 表示脚本名称
$1…n 表示传递给脚本的参数
$# 表示传递给脚本的参数数量
$? 表示上一个命令的退出状态,可判断上一个命令是否执行成功

二、流程控制

  1. 条件控制
    语法:
    if 条件
    then
    ??语句
    elif 条件
    then
    ??语句
    else
    ??语句
    fi

if条件句不允许某一分支的语句是空

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

  1. 循环控制
    2.1 for循环
    语法:
    for item in 字符串/列表
    do
    ??语句
    done

2.2 while循环
语法:
while 条件
do
??语句
done

终止循环使用 break
跳出当前循环使用 continue

在这里插入图片描述

  1. 多分支控制
    语法:
    case 值 in
    模式)
    语句
    ;;
    *)
    语句
    ;;
    esac

;;是一个模式的结束
当值没有匹配到任何一个模式时 匹配*

在这里插入图片描述

总结

?? 最后继续总结一下吧:

?? 变量以及变量类型
?? 流程控制包括条件控制、循环控制、多分支控制

??希望对看到本文的你有帮助。





上一篇 Linux命令——压缩和解压缩
创作不易,记得点赞收藏哦
下一篇 待定
文章来源:https://blog.csdn.net/weixin_45075226/article/details/134958789
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。