# Shell 脚本编程
# 脚本基础
# 1. 创建脚本文件
#!/bin/bash
# 这是一个简单的Shell脚本
echo "Hello, Shell Script!"
# 2. 脚本执行权限
# 添加执行权限
chmod +x script.sh
# 执行脚本
./script.sh
# 变量
# 1. 变量定义和使用
# 定义变量
name="Shell"
age=25
# 使用变量
echo "Name: $name"
echo "Age: ${age}"
# 2. 环境变量
# 设置环境变量
export PATH="$PATH:/usr/local/bin"
# 读取环境变量
echo $HOME
echo $USER
# 控制结构
# 1. 条件语句
# if语句
if [ $age -gt 18 ]; then
echo "成年人"
else
echo "未成年"
fi
# case语句
case $1 in
"start")
echo "启动服务"
;;
"stop")
echo "停止服务"
;;
*)
echo "未知命令"
;;
esac
# 2. 循环语句
# for循环
for i in 1 2 3 4 5; do
echo $i
done
# while循环
count=0
while [ $count -lt 5 ]; do
echo $count
count=$((count + 1))
done
# 函数
# 1. 函数定义
# 简单函数
sayHello() {
echo "Hello, $1!"
}
# 带返回值的函数
sum() {
result=$(($1 + $2))
return $result
}
# 2. 函数调用
# 调用函数
sayHello "World"
# 获取返回值
sum 5 3
echo $?
# 数组
# 定义数组
fruits=("apple" "banana" "orange")
# 访问数组元素
echo ${fruits[0]}
echo ${fruits[@]} # 所有元素
# 数组长度
echo ${#fruits[@]}
# 字符串处理
# 字符串拼接
str1="Hello"
str2="World"
result="$str1 $str2"
# 字符串长度
echo ${#str1}
# 字符串截取
echo ${result:0:5}
# 文件操作
# 读取文件
while read line; do
echo $line
done < file.txt
# 写入文件
echo "新内容" > file.txt
echo "追加内容" >> file.txt
# 错误处理
# 捕获错误
if ! command; then
echo "命令执行失败"
exit 1
fi
# 设置错误处理
set -e # 遇到错误立即退出
trap 'echo "发生错误"; exit 1' ERR
# 最佳实践
脚本开头
#!/bin/bash set -e # 错误时退出 set -u # 使用未定义变量时报错
注释和文档
# 脚本说明 # 作者:xxx # 日期:xxx
变量命名
- 使用有意义的变量名
- 常量使用大写
- 临时变量使用小写
# 练习题
- 编写一个文件备份脚本
- 创建系统监控脚本
- 实现简单的日志处理脚本
# 下一步
学习更多Shell脚本的高级特性,如正则表达式、进程管理等。
← Shell 命令入门 ls 命令 →