目录
Shell脚本是Linux系统管理员和开发人员的必备技能,它可以帮助你自动化日常任务,提高工作效率。在这篇文章中,我们将深入浅出地介绍Shell脚本中的功能语句和数组,并结合实际案例,带你快速入门。
条件语句是编程语言的基础,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
循环语句用于重复执行一段代码,直到满足特定条件。
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」
数组可以存储一系列数据,方便你对多个数据进行操作。
- # 方法一:使用括号
- names=(「Alice」 「Bob」 「Charlie」)
-
- # #
- # 方法二:逐个赋值
- names[0]=「Alice」
- names[1]=「Bob」
- names[2]=「Charlie」
使用${数组名[索引]}的方式访问数组元素,索引从0开始。
echo ${names[0]} # 输出 Alice
使用${#数组名[@]} 获取数组长度。
echo ${#names[@]} # 输出 3
可以使用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脚本博大精深,还有很多高级语法和技巧需要我们不断学习和探索。
