张芷铭的个人博客

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

创建脚本

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
# 创建脚本文件
touch myscript.sh

# 添加 shebang 和内容
#!/bin/bash
echo "Hello, World!"

# 赋予执行权限
chmod +x myscript.sh

# 运行
./myscript.sh

基本语法

变量

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

条件判断

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

循环

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# for 循环
for i in {1..5}; do
    echo "Number $i"
done

# while 循环
count=1
while [ $count -le 5 ]; do
    echo "Count $count"
    ((count++))
done

函数

1
2
3
4
5
greet() {
    echo "Hello, $1!"  # $1 是第一个参数
}

greet "Bob"

常用命令

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

管道与重定向

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

脚本参数

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

完整示例

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
#!/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

Comments