Shell 脚本用于自动化任务、管理系统和处理文件,Bash 是最常见的 Shell 解释器。

创建脚本

# 创建脚本文件
touch myscript.sh
 
# 添加 shebang 和内容
#!/bin/bash
echo "Hello, World!"
 
# 赋予执行权限
chmod +x myscript.sh
 
# 运行
./myscript.sh

基本语法

变量

NAME="Alice"       # 定义变量(等号两边不能有空格)
echo "Hello, $NAME!"  # 使用变量

条件判断

if [ "$NAME" == "Alice" ]; then
    echo "Welcome, Alice!"
else
    echo "Who are you?"
fi

循环

# for 循环
for i in {1..5}; do
    echo "Number $i"
done
 
# while 循环
count=1
while [ $count -le 5 ]; do
    echo "Count $count"
    ((count++))
done

函数

greet() {
    echo "Hello, $1!"  # $1 是第一个参数
}
 
greet "Bob"

常用命令

命令说明
ls列出文件
mkdir创建目录
rm删除文件
cat显示文件内容
grep查找字符串
sort排序

管道与重定向

echo "Hello" > output.txt    # 重定向(覆盖)
echo "World" >> output.txt   # 追加
ls | grep "pattern"          # 管道

脚本参数

echo "Script: $0"      # 脚本名
echo "First arg: $1"   # 第一个参数
echo "All args: $@"    # 所有参数
echo "Arg count: $#"   # 参数个数

完整示例

#!/bin/bash
 
echo "Enter your name:"
read NAME
 
echo "Hello, $NAME!"
 
if [ "$NAME" == "Alice" ]; then
    echo "Welcome back!"
fi
 
for i in {1..3}; do
    echo "Loop $i"
done