OPC.run OPC.run 助跑超级个体

Shell 脚本入门

Shell 脚本是将多条命令组合成可重复执行的程序,是自动化的起点。

Shell 脚本入门

第一个脚本

创建 hello.sh

#!/bin/bash
# 这是注释
echo "Hello, World!"
echo "当前用户:$(whoami)"
echo "当前目录:$(pwd)"

运行:

chmod +x hello.sh   # 添加执行权限
./hello.sh           # 执行

变量

#!/bin/bash
NAME="Alice"        # 定义变量(等号两边不能有空格!)
AGE=30

echo "姓名:$NAME"
echo "年龄:${AGE}岁"

# 命令赋值
TODAY=$(date +%Y-%m-%d)
echo "今天:$TODAY"

参数

#!/bin/bash
echo "脚本名:$0"
echo "第一个参数:$1"
echo "第二个参数:$2"
echo "所有参数:$@"
echo "参数个数:$#"
./script.sh hello world
# 第一个参数:hello
# 第二个参数:world

条件判断

#!/bin/bash
if [ -f "config.yaml" ]; then
  echo "配置文件存在"
else
  echo "配置文件不存在,创建中..."
  touch config.yaml
fi

循环

#!/bin/bash
# 遍历文件
for file in *.txt; do
  echo "处理:$file"
done

# 数字循环
for i in {1..5}; do
  echo "第 $i 次"
done

# while 循环
while read -r line; do
  echo "行:$line"
done < input.txt

实用脚本:自动备份

#!/bin/bash
BACKUP_DIR="/backup"
DATE=$(date +%Y%m%d_%H%M%S)
SOURCE="/home/alice/projects"

mkdir -p $BACKUP_DIR
tar -czf "$BACKUP_DIR/backup_$DATE.tar.gz" $SOURCE
echo "备份完成:backup_$DATE.tar.gz"

Shell 脚本是自动化的第一步——任何重复做 3 次以上的操作,都值得写成脚本。

← 上一课