📜  Bash 脚本 – 案例陈述(1)

📅  最后修改于: 2023-12-03 15:13:37.920000             🧑  作者: Mango

Bash 脚本 – 案例陈述

一、介绍

Bash 是Linux 上最常用的一个 Shell ,它是源自于 Bourne Shell(Bash) 的一种 Shell脚本语言。 Bash 脚本可以用来自动执行一些任务,例如,批量操作文件、定时运行任务、备份和恢复等。在这篇文章中,我们将带领你了解 Bash 脚本,包括 Bash 脚本语法、示例代码和应用案例。

二、Bash 脚本语法

Bash 脚本语法非常简单,主要包括以下几个方面:

1. 注释

在 Bash 脚本中,单行注释以 # 开头,多行注释使用以下语法:

: '
多行注释
多行注释
多行注释
'
2. 变量

Bash 脚本中的变量使用 $ 符号来引用,例如:

name="Bash"
echo "Hello, $name!"
3. 流程控制

Bash 脚本支持 if-else、case、for、while 等流程控制语句,例如:

if [ $a -gt $b ] # 如果a大于b
then
    echo "a is greater than b"
else
    echo "a is less than or equal to b"
fi

case $vech in
"car" )
    echo "Rent of car is 20 dollar per day." ;;
"van" )
    echo "Rent of van is 10 dollar per day." ;;
"jeep" )
    echo "Rent of jeep is 50 dollar per day." ;;
* )
    echo "Sorry, we do not have $vech." ;;
esac

for i in {1..5}
do
    echo "Value of i: $i"
done

while [ $count -lt 10 ]
do
    echo "Count: $count"
    let count=$count+1
done
4. 函数

通过函数,你可以在 Bash 脚本中定义自己的函数,例如:

function greet {
    echo "Hello World"
}

greet # 输出 "Hello World"
三、应用案例

下面是几个 Bash 脚本应用案例:

1. 创建一个目录并拷贝文件

这个 Bash 脚本用于创建一个目录,将需要拷贝的文件复制到该目录中,并将目录打包成 tar 压缩文件:

#!/bin/bash

# 创建目录
mkdir mydir

# 复制文件
cp -R /path/to/my/file mydir/

# 打包目录
tar -czvf mydir.tar.gz mydir/

# 删除目录
rm -rf mydir
2. 按日期备份文件

这个 Bash 脚本用于按照日期备份文件,每天备份一个文件夹并通过邮件发送备份结果:

#!/bin/bash

# 备份源目录
BACKUP_SRC=/path/to/src

# 备份目录
BACKUP_DEST=/path/to/dest

# 备份文件名
BACKUP_FILE=$(date +"%Y-%m-%d").tar.gz

# 创建备份目录
mkdir -p $BACKUP_DEST

# 备份
tar -zcvf $BACKUP_DEST/$BACKUP_FILE $BACKUP_SRC

# 发送邮件
echo "Backup successful." | mail -s "Backup Result" root@example.com
3. 监控系统资源

这个 Bash 脚本用于监控系统 CPU、内存和硬盘使用情况,并将监控结果保存到 log 文件中:

#!/bin/bash

# 每5秒记录一次日志
INTERVAL=5

# log 文件名
LOG_FILE=/path/to/log

# 监控命令
MONITOR_CMD="top -n 1 -b"

while true
do
    TIMESTAMP=$(date +"%Y-%m-%d %H:%M:%S")
    $MONITOR_CMD | grep "Cpu\|Mem\|Disk" | sed "s/^/$TIMESTAMP /" >> $LOG_FILE
    sleep $INTERVAL
done
四、总结

以上是 Bash 脚本的基本语法和应用案例,希望能对你有所帮助。如果你对 Bash 脚本有更多的兴趣,可以继续深入了解 Bash 脚本函数、参数、标准输入输出和环境变量等,以便在实际工作中更加灵活地应用 Bash 脚本。