赞
踩
Shebang: 每个Shell脚本的开头通常都有一个shebang行,用于指定解释器。例如:
#!/bin/bash
注释: 使用 #
来添加注释。
# 这是一个注释
变量: 变量不需要声明,直接赋值即可。
name="Kimi"
echo "Hello, $name"
条件语句:
if [ "$name" = "Kimi" ]; then
echo "Hi, Kimi!"
else
echo "Who are you?"
fi
循环:
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
函数:
greet() {
echo "Hello, $1"
}
greet "Kimi"
这个脚本将指定目录中的文件备份到另一个目录。
#!/bin/bash
# 源目录
SOURCE_DIR="/path/to/source"
# 备份目录
BACKUP_DIR="/path/to/backup"
# 创建备份目录,如果不存在
mkdir -p "$BACKUP_DIR"
# 复制文件
cp -r "$SOURCE_DIR"/* "$BACKUP_DIR"
echo "备份完成!"
这个脚本会检查磁盘使用情况,如果超过指定阈值,则发送警告邮件。
#!/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
这个脚本将目录中的所有 .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 "文件重命名完成!"
赋予执行权限:
chmod +x script.sh
运行脚本:
./script.sh
set -e
可以让脚本在遇到错误时立即退出。set -x
可以在执行每一行命令之前打印该命令,方便调试。Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。