Bash 脚本是 Linux/Unix 自动化任务的核心工具,语法围绕变量、流程控制、文件操作展开。
脚本结构
#!/bin/bash
# 注释
# 执行方式
chmod +x script.sh
./script.sh变量
name="Bash" # 定义(等号无空格)
echo $name # 使用
echo ${name}test # {} 明确边界
# 命令替换
dir=$(pwd)
# 脚本参数
$0 # 脚本名
$1 # 第一个参数
$# # 参数个数
$@ # 所有参数
$? # 上条命令状态输入输出
echo "Hello"
read -p "输入姓名:" name
printf "姓名:%s\n" "Alice"条件判断
if [ $a -eq $b ]; then # 数值相等
echo "equal"
elif [ -f $file ]; then # 文件存在
echo "file exists"
else
echo "other"
fi| 操作符 | 含义 |
|---|---|
-eq -ne -gt -lt | 数值比较 |
== != | 字符串比较 |
-f -d -x -e | 文件判断 |
循环
# for 循环
for i in {1..5}; do
echo $i
done
# while 循环
while [ $i -le 5 ]; do
echo $i
i=$((i+1))
done函数
add() {
echo $(($1 + $2))
}
result=$(add 3 5)文件操作
touch file.txt # 创建
mkdir -p dir/sub # 创建目录
cp -r src dst # 复制
mv old new # 移动/重命名
rm -rf dir # 删除
cat file # 读取
grep "key" file # 搜索重定向
cmd > file # 覆盖
cmd >> file # 追加
cmd < file # 读取调试
bash -x script.sh # 打印每步执行
echo $? # 查看状态码