从零开始学习嵌入式----Linux系统中shell脚本

目录

Shell脚本入门:玩转功能语句和数组,提升你的效率!

一、功能语句:让你的脚本更灵活

1. 条件语句:if、else、elif

2. 循环语句:for、while

二、数组:处理多项数据的好帮手

1. 声明数组

2. 访问数组元素

3. 获取数组长度

4. 遍历数组

三、案例实战:批量修改文件名

四、总结

五、思维导图


Shell脚本入门:玩转功能语句和数组,提升你的效率!

Shell脚本是Linux系统管理员和开发人员的必备技能,它可以帮助你自动化日常任务,提高工作效率。在这篇文章中,我们将深入浅出地介绍Shell脚本中的功能语句和数组,并结合实际案例,带你快速入门。

一、功能语句:让你的脚本更灵活

1. 条件语句:if、else、elif

条件语句是编程语言的基础,Shell脚本也不例外。if语句允许你根据条件执行不同的代码块。

#!/bin/bash

#  #
# 判断文件是否存在
if [ -f 「myfile.txt」 ]; then
  echo 「文件已找到!」
else
  echo 「文件不存在!」
fi

在这个例子中,如果myfile.txt文件存在,就会输出「文件已找到!」,否则输出「文件不存在!」。

elif语句用于添加多个条件判断,例如:

#!/bin/bash

#  #
# 判断分数等级
score=85

#  #
if [ $score -ge 90 ]; then
  echo 「优秀」
elif [ $score -ge 80 ]; then
  echo 「良好」
elif [ $score -ge 70 ]; then
  echo 「中等」
else
  echo 「不及格」
fi

2. 循环语句:for、while

循环语句用于重复执行一段代码,直到满足特定条件。

  • for循环:适用于遍历列表中的元素。

#!/bin/bash

#  #
# 遍历列表
names=(「Alice」 「Bob」 「Charlie」)
for name in 「${names[@]}」; do
  echo 「Hello, $name!」
done

  • while循环:适用于在条件满足时重复执行代码块。

#!/bin/bash

#  #
# 计算1到10的和
count=1
sum=0

#  #
while [ $count -le 10 ]; do
  sum=$((sum + count))
  count=$((count + 1))
done

#  #
echo 「1到10的和为:$sum」

二、数组:处理多项数据的好帮手

数组可以存储一系列数据,方便你对多个数据进行操作。

1. 声明数组

# 方法一:使用括号
names=(「Alice」 「Bob」 「Charlie」)

#  #
# 方法二:逐个赋值
names[0]=「Alice」
names[1]=「Bob」
names[2]=「Charlie」

2. 访问数组元素

使用${数组名[索引]}的方式访问数组元素,索引从0开始。

echo ${names[0]}  # 输出 Alice

3. 获取数组长度

使用${#数组名[@]} 获取数组长度。

echo ${#names[@]}  # 输出 3

4. 遍历数组

可以使用for循环遍历数组:

#!/bin/bash

#  #
# 遍历数组并输出每个元素
for name in 「${names[@]}」; do
  echo $name
done

三、案例实战:批量修改文件名

假设你需要将当前目录下所有.txt文件的后缀名改为.log,可以编写如下Shell脚本:

#!/bin/bash

#  #
# 获取所有.txt文件
files=(*.txt)

#  #
# 遍历文件列表,修改文件名
for file in 「${files[@]}」; do
  new_file=「${file%.txt}.log」
  mv 「$file」 「$new_file」
  echo 「已将 $file 重命名为 $new_file」
done

四、总结

本文介绍了Shell脚本中的功能语句和数组,并结合案例讲解了如何使用它们。熟练掌握这些基本语法,可以帮助你编写更强大、更高效的Shell脚本,自动化完成各种任务。当然,Shell脚本博大精深,还有很多高级语法和技巧需要我们不断学习和探索。

五、思维导图

相关推荐

  1. 开始学习嵌入----Makefile工具

    2024-07-10 21:30:04       8 阅读
  2. 开始学习嵌入----C语言指针函数

    2024-07-10 21:30:04       8 阅读
  3. 开始学习嵌入----C语言数组指针

    2024-07-10 21:30:04       7 阅读
  4. 开始学习嵌入----数据结构

    2024-07-10 21:30:04       4 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 21:30:04       5 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 21:30:04       5 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 21:30:04       4 阅读
  4. Python语言-面向对象

    2024-07-10 21:30:04       7 阅读

热门阅读

  1. PyTorch清理CPU缓存

    2024-07-10 21:30:04       7 阅读
  2. qt 自定义信号和槽举例

    2024-07-10 21:30:04       8 阅读
  3. 贪吃蛇代码python实现

    2024-07-10 21:30:04       12 阅读
  4. iOS开发语言基础与Xcode工具初探

    2024-07-10 21:30:04       11 阅读
  5. 【面试题】Reactor模型

    2024-07-10 21:30:04       9 阅读
  6. nvm安装node一直没有npm

    2024-07-10 21:30:04       11 阅读
  7. 深入理解model.eval()与torch.no_grad()

    2024-07-10 21:30:04       8 阅读
  8. gusture

    2024-07-10 21:30:04       8 阅读
  9. python的抽象基类

    2024-07-10 21:30:04       10 阅读
  10. 软设之桥接模式

    2024-07-10 21:30:04       12 阅读