Linux sh 命令实用示例

LinuxBeginner
立即练习

介绍

在本实验中,你将学习 Linux 中 shell 脚本的基础知识,包括理解 shell 变量和参数,以及实现条件语句和循环。你将创建并运行各种 shell 脚本来自动化任务并简化工作流程。实验内容涵盖创建和执行 shell 脚本、使用 shell 变量以及使用命令行参数等主题。内容实用且动手操作性强,为你提供了有效利用 Linux shell 进行脚本编写和编程所需的技能。

Linux 命令速查表

理解 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 脚本中实现条件语句和循环,从而创建更复杂和动态的脚本,以适应不同的场景和需求。

Linux 命令速查表