介绍
本实验将指导你创建一个简单的 shell 脚本,用于打印经典的 "Hello, World!" 消息。你将学习使用 Bash shell 进行 shell 编程的基础知识,Bash shell 在类 Unix 操作系统(如 Linux)中广泛使用。本实验专为初学者设计,因此如果你是编程或使用命令行的新手,也不必担心。
如果你是 Linux 或 LabEx 的新手,建议从 Linux 快速入门 或 Linux 命令练习 开始,系统地学习基础知识。完成课程后,你可以回到这里练习你的技能。
本实验将指导你创建一个简单的 shell 脚本,用于打印经典的 "Hello, World!" 消息。你将学习使用 Bash shell 进行 shell 编程的基础知识,Bash shell 在类 Unix 操作系统(如 Linux)中广泛使用。本实验专为初学者设计,因此如果你是编程或使用命令行的新手,也不必担心。
如果你是 Linux 或 LabEx 的新手,建议从 Linux 快速入门 或 Linux 命令练习 开始,系统地学习基础知识。完成课程后,你可以回到这里练习你的技能。
在本 Shell 脚本课程中,我们将使用基于 Visual Studio Code (VS Code) 的 WebIDE。这个集成开发环境提供了一个便捷的方式,让你可以在一个地方编辑脚本并访问终端。
需要注意的是,虽然 WebIDE 中的默认 shell 是 Zsh,但我们在本实验中编写的将是 Bash 脚本。Bash(Bourne Again SHell)是类 Unix 系统中最常见且广泛使用的 shell。Zsh(Z Shell)是 Bash 的扩展版本,具有一些改进和功能。在本实验中,这些差异不会影响我们的工作,因为我们的脚本将通过 shebang 行(#!/bin/bash
)显式使用 Bash。
当你启动实验时,你会在浏览器中看到 WebIDE 界面。它由以下几个关键部分组成:
要在 WebIDE 中打开终端:
这将在 WebIDE 底部打开一个新的终端面板。你会看到一个类似于以下的命令提示符:
labex:project/ $
这表示你以用户 labex
登录,当前目录是 ~/project
(这是 /home/labex/project
的简写)。
你可以像在 Linux 系统上使用普通终端一样使用这个终端。例如,要查看当前目录的内容,你可以输入:
ls
然后按 Enter。这将列出当前位置的所有文件和目录。
现在,让我们为我们的 shell 脚本创建一个新文件。我们将在终端中使用 touch
命令来完成此操作。touch
命令用于创建空文件或更新现有文件的访问和修改时间。
在终端中输入以下命令并按 Enter:
touch hello.sh
此命令将在当前目录中创建一个名为 hello.sh
的空文件。.sh
扩展名通常用于 shell 脚本,但它不是强制性的。
运行此命令后,你不会看到任何输出。在类 Unix 系统中,没有输出通常意味着命令执行成功。
或者,你也可以使用 WebIDE 界面创建文件:
/home/labex/project
目录。hello.sh
并按 Enter。这将创建一个名为 hello.sh
的新文件,并在编辑器中打开它。
现在我们已经创建了文件,接下来让我们为其添加一些内容。我们将使用 WebIDE 的内置编辑器来完成此任务。
如果文件尚未在编辑器中打开:
hello.sh
以打开它。在编辑器中,准确输入以下两行内容:
#!/bin/bash
echo 'Hello, World!'
让我们分解一下这些行的含义:
#!/bin/bash
- 这被称为“shebang”行。它告诉系统应该使用哪个解释器来运行此脚本。在这里,我们指定了 Bash shell。echo 'Hello, World!'
- 这行使用 echo
命令将文本 "Hello, World!" 打印到屏幕上。输入这些行后,按 Ctrl + S
或通过顶部菜单中的 File > Save 保存文件。
在运行脚本之前,我们需要使其可执行。在类 Unix 系统中,文件具有控制谁可以读取、写入或执行它们的权限。默认情况下,新文件是不可执行的。
为了使我们的脚本可执行,我们使用 chmod
命令(代表 "change mode")。在终端中输入以下命令并按 Enter:
chmod +x hello.sh
以下是该命令的作用:
chmod
是用于更改文件权限的命令+x
表示“添加执行权限”hello.sh
是我们的文件名如果命令成功执行,你不会看到任何输出。
现在我们的脚本已经是可执行的了,我们可以运行它。要运行当前目录中的脚本,我们需要在脚本名称前加上 ./
。这个 ./
告诉系统在当前目录中查找脚本。
在终端中输入以下命令并按 Enter:
./hello.sh
如果一切操作正确,你应该会看到以下输出:
Hello, World!
恭喜!你已经成功运行了你的第一个 shell 脚本。
作为最后一步,让我们查看脚本文件的内容以确认一切正确。我们可以使用 cat
命令来完成此操作,它会在终端中显示文件的内容。
在终端中输入以下命令并按 Enter:
cat hello.sh
你应该会看到脚本的内容显示如下:
#!/bin/bash
echo 'Hello, World!'
这是一个在编写脚本时应养成的好习惯——始终仔细检查你的工作!
在本实验中,你成功创建并执行了一个简单的 Bash shell 脚本。你学会了如何:
touch
命令或 WebIDE 界面创建新的脚本文件echo
命令打印文本chmod
命令使脚本可执行cat
命令查看文件内容这些基本技能为在类 Unix 环境中进行更高级的 shell 脚本编写和自动化任务奠定了基础。随着学习的深入,你会发现 shell 脚本在系统管理和任务自动化方面的强大和灵活性。
记住,练习是编程的关键。尝试修改脚本以打印不同的消息,或创建新的脚本来执行其他简单任务。不要害怕尝试——这正是你学习的方式!