介绍
在本实验中,你将学习 Linux 中 shell 脚本的基础知识,包括理解 shell 变量和参数,以及实现条件语句和循环。你将创建并运行各种 shell 脚本来自动化任务并简化工作流程。实验内容涵盖创建和执行 shell 脚本、使用 shell 变量以及使用命令行参数等主题。内容实用且动手操作性强,为你提供了有效利用 Linux shell 进行脚本编写和编程所需的技能。
理解 Shell 脚本的基础知识
在这一步中,你将学习 Linux 中 shell 脚本的基础知识。Shell 脚本是用 shell 语言编写的小程序,可以自动化各种任务并简化你的工作流程。
首先,让我们使用 nano 文本编辑器创建一个新的 shell 脚本文件:
cd ~/project
nano hello.sh
在文件中添加以下内容:
#!/bin/bash
echo "Hello, World!"
第一行 #!/bin/bash 被称为 "shebang",它告诉系统使用 Bash shell 来执行脚本。
为了使脚本可执行,运行以下命令:
chmod +x hello.sh
现在,你可以通过以下命令运行脚本:
./hello.sh
示例输出:
Hello, World!
echo 命令用于将 "Hello, World!" 消息打印到控制台。
接下来,让我们探索一些基本的 shell 变量。创建一个名为 variables.sh 的新脚本:
nano variables.sh
添加以下内容:
#!/bin/bash
NAME="John Doe"
echo "My name is $NAME"
运行脚本:
chmod +x variables.sh
./variables.sh
示例输出:
My name is John Doe
在这个例子中,我们定义了一个变量 NAME,并在 echo 命令中使用了它。
使用 Shell 变量和参数
在这一步中,你将学习如何在脚本中使用 shell 变量和参数。
首先,让我们创建一个名为 args.sh 的新脚本,演示如何使用命令行参数:
cd ~/project
nano args.sh
添加以下内容:
#!/bin/bash
echo "Positional parameter 1: $1"
echo "Positional parameter 2: $2"
echo "All parameters: $@"
echo "Number of parameters: $#"
保存文件并使其可执行:
chmod +x args.sh
现在,使用一些参数运行脚本:
./args.sh apple banana cherry
示例输出:
Positional parameter 1: apple
Positional parameter 2: banana
All parameters: apple banana cherry
Number of parameters: 3
在这个例子中,我们使用特殊变量 $1、$2、$@ 和 $# 访问了命令行参数。
接下来,让我们创建一个脚本,演示如何使用环境变量:
nano env_vars.sh
添加以下内容:
#!/bin/bash
echo "User's home directory: $HOME"
echo "Current working directory: $PWD"
echo "User's shell: $SHELL"
保存文件,使其可执行并运行:
chmod +x env_vars.sh
./env_vars.sh
示例输出:
User's home directory: /home/labex
Current working directory: /home/labex/project
User's shell: /bin/bash
在这个例子中,我们使用了预定义的环境变量 $HOME、$PWD 和 $SHELL。
实现条件语句和循环
在这一步中,你将学习如何在 shell 脚本中使用条件语句和循环。
首先,让我们创建一个脚本,演示如何使用 if-else 语句:
cd ~/project
nano if_else.sh
添加以下内容:
#!/bin/bash
NUM=10
if [ $NUM -gt 0 ]; then
echo "The number is positive."
else
echo "The number is non-positive."
fi
保存文件,使其可执行并运行:
chmod +x if_else.sh
./if_else.sh
示例输出:
The number is positive.
在这个例子中,我们使用 if-else 语句检查变量 NUM 的值是否大于 0。
接下来,让我们创建一个脚本,演示如何使用 for 循环:
nano for_loop.sh
添加以下内容:
#!/bin/bash
for i in 1 2 3 4 5; do
echo "Iteration $i"
done
保存文件,使其可执行并运行:
chmod +x for_loop.sh
./for_loop.sh
示例输出:
Iteration 1
Iteration 2
Iteration 3
Iteration 4
Iteration 5
在这个例子中,我们使用 for 循环遍历从 1 到 5 的数字列表。
总结
在本实验中,你首先学习了 Linux 中 shell 脚本的基础知识,包括创建一个简单的 "Hello, World!" 脚本以及使用 shell 变量。接着,你探索了如何利用 shell 变量和参数,例如在脚本中使用命令行参数。这些基础技能为你提供了对 shell 脚本环境的扎实理解,并使你能够自动化各种任务并简化工作流程。
接下来,你将学习如何在 shell 脚本中实现条件语句和循环,从而创建更复杂和动态的脚本,以适应不同的场景和需求。



