0Pricing
Linux Server Deployment & SSH Mastery · 课时

Bash 脚本入门

学习 Bash 脚本的基础知识,包括变量、条件语句、循环和基本命令执行。

Bash 脚本入门 是 CoddyKit 上的免费 Linux Server Deployment & SSH Mastery 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Linux Server Deployment & SSH Mastery 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Linux Server Deployment & SSH Mastery 课程共包含 4 节课。

什么是 Bash 脚本?

欢迎来到 Bash 脚本的世界!Bash(Bourne Again SHell)是大多数 Linux 系统中的默认命令行解释器。

Bash 脚本本质上是一个包含一系列命令的文本文件,可以自动执行通常需要您在终端中手动输入的任务。

  • 通过自动执行重复性任务来节省时间。
  • 一次运行即可执行复杂的命令序列。
  • 为服务器管理构建自定义工具。

您的第一个脚本:Hello World

每个脚本都以一行 shebang 开始(#!/bin/bash)。它会告诉系统使用哪个解释器来运行脚本。

接下来,您可以添加命令。让我们创建一个经典的“Hello, World!”脚本。

#!/bin/bash
# This is a comment: The script says hello.
echo "Hello, CoddyKit!"

让脚本可执行

保存脚本后(例如保存为 hello.sh),您需要为它授予运行权限。这可以使用 chmod 命令完成,该命令用于更改文件权限。

+x 选项会授予执行权限。没有该权限,系统就不会将它识别为可运行的程序。

#!/bin/bash
# In a real terminal, you would run:
# chmod +x hello.sh
# ./hello.sh

echo "Permissions matter!"

使用变量

变量用于存储数据。在 Bash 中,您可以通过为名称赋值来定义变量,不需要特殊的声明关键字。

  • 赋值: NAME=value(= 两侧不能有空格)
  • 访问: $NAME 或 ${NAME}

让我们存储一条消息并将其打印出来。

#!/bin/bash

MESSAGE="Welcome to scripting!"

echo $MESSAGE

组合命令和变量

您可以将变量与标准 Linux 命令结合使用。例如,您可以将目录名称存储在变量中,然后使用 ls 列出该目录的内容。

这样可以让脚本更加灵活,因为您无需编辑命令本身就能更改变量的值。

#!/bin/bash

TARGET_DIR="/tmp"

echo "Listing contents of $TARGET_DIR:"
ls $TARGET_DIR

条件逻辑:“if”语句

脚本通常需要进行判断。if 语句允许脚本仅在某个条件为真时执行代码。

条件通常写在方括号 [ ] 中。请记住,括号和运算符两侧都需要空格!

#!/bin/bash

NUMBER=10

if [ $NUMBER -gt 5 ]; then
  echo "Number is greater than 5."
fi

添加“else”和“elif”

要处理 if 条件为假的情况,可以使用 else。如果有多个条件,使用 elif(else if)会很方便。

  • -eq:等于
  • -ne:不等于
  • -lt:小于
  • -le:小于或等于
  • -gt:大于
  • -ge:大于或等于
#!/bin/bash

GRADE=85

if [ $GRADE -ge 90 ]; then
  echo "You got an A!"
elif [ $GRADE -ge 80 ]; then
  echo "You got a B!"
else
  echo "Keep studying!"
fi

使用“for”循环

循环对于重复执行任务至关重要。for 循环会遍历项目列表或数字范围。

它非常适合处理多个文件、用户输入,或执行指定次数的操作。

#!/bin/bash

for FRUIT in Apple Banana Orange;
do
  echo "I like $FRUIT."
done

# Another common way: sequence
for i in {1..3};
do
  echo "Count: $i"
done

使用“while”循环

只要指定的条件保持为真,while 循环就会持续执行命令。当您不确定需要循环多少次时,这种循环非常有用。

请务必确保条件最终能够变为假,否则就会创建无限循环!

#!/bin/bash

COUNT=1

while [ $COUNT -le 3 ]; do
  echo "The count is $COUNT."
  COUNT=$((COUNT + 1))
done

Bash 脚本检查

这个简单的 Bash 脚本会输出什么?

#!/bin/bash

NAME="Coddy"
AGE=5

if [ $AGE -gt 10 ]; then
  echo "Hello, $NAME! You are a teen."
elif [ $AGE -eq 5 ]; then
  echo "Hi, $NAME! You are young."
else
  echo "Welcome, $NAME!"
fi

回顾:Bash 脚本基础

做得很好!您已经学习了 Bash 脚本的基础组成部分:

  • Shebang:使用 #!/bin/bash 定义解释器。
  • 可执行权限:使用 chmod +x 运行脚本。
  • 变量:使用 NAME=value 存储数据,并通过 $NAME 访问。
  • 条件语句:使用 if、elif 和 else,以及 -gt、-eq 等测试运算符进行判断。
  • 循环:使用 for(遍历列表或范围)和 while(循环直到条件为假)重复执行任务。

这些基础知识是您自动执行复杂服务器任务的构建模块!

常见问题解答

「Bash 脚本入门」课时是免费的吗?

是的 — 「Bash 脚本入门」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Linux Server Deployment & SSH Mastery 课程的其余内容,请升级到 CoddyKit PRO。 Linux Server Deployment & SSH Mastery 课程共包含 4 节课。

「Bash 脚本入门」这节课中我会学到什么?

学习 Bash 脚本的基础知识,包括变量、条件语句、循环和基本命令执行。 你通过在浏览器中直接运行的动手代码来练习 Linux Server Deployment & SSH Mastery,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Linux Server Deployment & SSH Mastery 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Linux Server Deployment & SSH Mastery 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「Bash 脚本入门」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Linux Server Deployment & SSH Mastery 课中编写并运行代码吗?

能。每节 Linux Server Deployment & SSH Mastery 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. Bash 脚本入门
  2. 自动化服务器任务
  3. 脚本中的错误处理与日志记录
  4. 函数、参数与可复用脚本
← 返回 Linux Server Deployment & SSH Mastery