当前位置:   article > 正文

Shell脚本编程 — Shell Script

Shell脚本编程 — Shell Script


Shell脚本是一种编程语言,主要用于在Unix/Linux系统中自动化执行任务。它通过编写一系列的命令来完成特定的任务。

基本概念

  1. Shebang: 每个Shell脚本的开头通常都有一个shebang行,用于指定解释器。例如:

    #!/bin/bash
    
    • 1
  2. 注释: 使用 # 来添加注释。

    # 这是一个注释
    
    • 1
  3. 变量: 变量不需要声明,直接赋值即可。

    name="Kimi"
    echo "Hello, $name"
    
    • 1
    • 2
  4. 条件语句:

    if [ "$name" = "Kimi" ]; then
        echo "Hi, Kimi!"
    else
        echo "Who are you?"
    fi
    
    • 1
    • 2
    • 3
    • 4
    • 5
  5. 循环:

    for i in 1 2 3 4 5; do
        echo "Number: $i"
    done
    
    while [ $i -le 5 ]; do
        echo "Number: $i"
        i=$((i + 1))
    done
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
  6. 函数:

    greet() {
        echo "Hello, $1"
    }
    
    greet "Kimi"
    
    • 1
    • 2
    • 3
    • 4
    • 5

示例脚本

示例1:备份文件

这个脚本将指定目录中的文件备份到另一个目录。

#!/bin/bash

# 源目录
SOURCE_DIR="/path/to/source"
# 备份目录
BACKUP_DIR="/path/to/backup"

# 创建备份目录,如果不存在
mkdir -p "$BACKUP_DIR"

# 复制文件
cp -r "$SOURCE_DIR"/* "$BACKUP_DIR"

echo "备份完成!"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

示例2:监控磁盘使用情况

这个脚本会检查磁盘使用情况,如果超过指定阈值,则发送警告邮件。

#!/bin/bash

# 设置磁盘使用阈值
THRESHOLD=80
# 设置邮件接收者
EMAIL="your_email@example.com"

# 获取当前磁盘使用情况
USAGE=$(df / | grep / | awk '{ print $5 }' | sed 's/%//g')

if [ "$USAGE" -gt "$THRESHOLD" ]; then
    echo "磁盘使用率已超过 $THRESHOLD%" | mail -s "磁盘使用警告" "$EMAIL"
fi
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

示例3:批量重命名文件

这个脚本将目录中的所有 .txt 文件重命名为 .bak 文件。

#!/bin/bash

# 目标目录
TARGET_DIR="/path/to/directory"

# 遍历目录中的所有 .txt 文件
for file in "$TARGET_DIR"/*.txt; do
    # 获取文件名(不包括扩展名)
    base=$(basename "$file" .txt)
    # 重命名文件
    mv "$file" "$TARGET_DIR/$base.bak"
done

echo "文件重命名完成!"
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

运行脚本

  1. 赋予执行权限:

    chmod +x script.sh
    
    • 1
  2. 运行脚本:

    ./script.sh
    
    • 1

提示

  • 使用 set -e 可以让脚本在遇到错误时立即退出。
  • 使用 set -x 可以在执行每一行命令之前打印该命令,方便调试。

Shell

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/998213
推荐阅读
相关标签
  

闽ICP备14008679号