Bash Shell 脚本实例大全:从入门到精通28


Bash 是 Linux 和 macOS 操作系统中使用广泛的一种命令行解释器。它是一种功能强大的脚本语言,允许用户自动化任务、管理系统和执行高级计算。编写 Bash 脚本是一种高效的方法,可以简化复杂的任务并提高生产力。

在本教程中,我们将介绍一些常用且实用的 Bash shell 脚本实例,从基础到高级。这些脚本将涵盖各种主题,例如文件管理、系统配置、网络管理和数据处理。

1. 创建和删除文件

脚本实例:```
#!/bin/bash
# 创建文件
touch
# 删除文件
rm
```

说明:此脚本使用 `touch` 命令创建三个文件,然后使用 `rm` 命令删除它们。

2. 查找和替换文本

脚本实例:```
#!/bin/bash
# 查找文本
grep "text"
# 替换文本
sed -i "s/old_text/new_text/g"
```

说明:此脚本使用 `grep` 命令在文件中查找文本,然后使用 `sed` 命令将文本替换为新文本。

3. 循环遍历文件和目录

脚本实例:```
#!/bin/bash
# 循环遍历文件
for file in *.txt; do
echo $file
done
# 循环遍历目录
for dir in *; do
if [ -d "$dir" ]; then
echo $dir
fi
done
```

说明:此脚本使用 `for` 循环遍历当前目录中的所有文件和目录。

4. 处理用户输入

脚本实例:```
#!/bin/bash
# 获取用户输入
read -p "Enter your name: " name
# 使用用户输入
echo "Hello, $name!"
```

说明:此脚本使用 `read` 命令从用户获取输入,然后使用输入的名称打印一条消息。

5. 条件语句

脚本实例:```
#!/bin/bash
# 条件语句
if [ $age -lt 18 ]; then
echo "You are not eligible to vote."
elif [ $age -lt 21 ]; then
echo "You can vote, but not drink alcohol."
else
echo "You can vote and drink alcohol."
fi
```

说明:此脚本使用 `if-elif-else` 语句根据用户的年龄打印不同的消息。

6. 函数和子例程

脚本实例:```
#!/bin/bash
# 定义函数
function greet() {
echo "Hello, $1!"
}
# 调用函数
greet John
greet Mary
```

说明:此脚本定义了一个名为 `greet` 的函数,它打印给定名称的问候语。然后它调用函数两次,一次为 John,一次为 Mary。

7. 管道和重定向

脚本实例:```
#!/bin/bash
# 管道
ls | grep "txt"
# 重定向
ls -l >
```

说明:此脚本演示了管道(使用 `|` 连接命令)和重定向(使用 `>` 输出到文件)。

8. 处理系统命令

脚本实例:```
#!/bin/bash
# 执行系统命令
output=$(ls -l)
# 检查命令状态
if [ $? -eq 0 ]; then
echo "Command executed successfully."
else
echo "Command failed."
fi
```

说明:此脚本使用 `$()` 捕获系统命令的输出,并使用 `$?` 检查命令的状态。

9. cron 作业

脚本实例:```
#!/bin/bash
# cron 作业
0 0 * * * /path/to/
```

说明:此脚本定义了一个 cron 作业,它将在每天午夜运行给定的 Bash 脚本。

10. 数组

脚本实例:```
#!/bin/bash
# 定义数组
names=("John" "Mary" "Bob")
# 访问数组元素
echo ${names[0]}
```

说明:此脚本定义了一个名为 `names` 的数组,其中包含三个字符串,并访问数组的第一个元素。

11. 处理错误

脚本实例:```
#!/bin/bash
# 处理错误
trap "echo Error occurred." EXIT
# 执行可能出错的命令
command_that_may_fail
```

说明:此脚本使用 `trap` 命令在脚本退出时处理错误。如果脚本执行失败,它将打印一条错误消息。

12. 调试脚本

脚本实例:```
#!/bin/bash
# 调试脚本
set -x
# 执行脚本
command_to_debug
```

说明:此脚本使用 `set -x` 启用脚本的调试模式。当执行脚本时,它将打印每条命令及其参数。

13. shell 函数

脚本实例:```
#!/bin/bash
# 定义 shell 函数
function my_function() {
echo "This is my function."
}
# 调用 shell 函数
my_function
```

说明:此脚本定义了一个名为 `my_function` 的 shell 函数,它打印一条消息。然后它调用函数。

14. 命令替换

脚本实例:```
#!/bin/bash
# 命令替换
output=$(ls -l)
# 使用命令替换
echo $output
```

说明:此脚本使用 `$(...)` 语法进行命令替换。`ls -l` 命令的输出被捕获到 `output` 变量中。

15. I/O 重定向

脚本实例:```
#!/bin/bash
# 输入重定向
command <
# 输出重定向
command >
# 错误重定向
command 2>
```

说明:此脚本演示了使用 `` 和 `2>` 进行输入、输出和错误重定向。

2024-12-09


上一篇:bash脚本中的大括号:掌握控制流的强大工具

下一篇:bash脚本中的f选项