如何在 Linux 中正确执行 shell 脚本

执行 shell 脚本是 Linux 中用于自动化进程的常见任务。本指南详细介绍了如何运行 shell 脚本,包括设置权限和使用正确的命令以确保顺利执行。

Shell-Script-Execution-in-Linux-1170x658-1

E在 Linux 中执行 shell 脚本是每个 Linux 用户或管理员都应该掌握的基本技能之一。知道如何运行脚本对于自动执行任务、设置 cron 作业或简单地尝试管理系统操作非常宝贵。我非常喜欢效率和简单性,这就是我非常依赖脚本编写的原因。但是,编写不仅有效而且优雅干净的脚本有一定的乐趣。让我们来看看如何在 Linux 中执行 shell 脚本,并附有示例和一些我个人的偏好。

什么是 shell 脚本?

在我们深入研究执行之前,让我们快速回顾一下什么是 shell 脚本。shell 脚本是一个文本文件,其中包含一系列命令,供基于 Unix 的 shell(如 Bash)执行。它本质上是一个用 shell 的命令行语言编写的程序。

第 1 步:创建一个简单的 shell 脚本

执行脚本的第一步自然是编写脚本。对于此示例,让我们创建一个简单的脚本,该脚本打印 “Hello, World!” 和当前日期。

在 Ubuntu 系统上打开终端,并使用您最喜欢的文本编辑器创建新文件。我用于快速编辑是因为它很简单,但如果您喜欢更强大的功能,您可能更喜欢。nanovim

nano hello_world.sh

在编辑器中,键入以下脚本:

#!/bin/bash
echo "Hello, World!"
echo "Today's date is: $(date)"

此脚本执行两项操作:打印 “Hello, World!”,然后显示当前日期。顶部的 称为 shebang,它告诉系统此脚本应在 Bash shell 中运行。#!/bin/bash

第 2 步:使脚本可执行

默认情况下,您刚刚创建的脚本不可执行。您需要使用该命令授予执行权限。这是很容易忘记的步骤之一,但至关重要。chmod

chmod +x hello_world.sh

该选项使脚本可由用户、组和其他人执行,具体取决于您的权限设置。+x

第 3 步:执行 shell 脚本

现在,您可以运行脚本了。在 Linux 中执行脚本有几种方法,我将介绍最常见的方法:

方法 1:使用相对路径执行

如果您与脚本位于同一目录中,则这是最直接的方法:

./hello_world.sh

它告诉 shell 在当前目录中查找脚本。如果一切顺利,您应该会看到以下输出:./

Hello, World!
Today's date is: Tue Aug 8 14:22:31 UTC 2024
方法 2:使用绝对路径执行

有时,您需要指定脚本的完整路径,尤其是当它位于不同的目录中时。

/home/username/scripts/hello_world.sh

当从 cron 作业或其他脚本中运行脚本时,此方法非常方便。

方法 3:使用特定 shell 执行

尽管 shebang 指定了要使用的 shell,但您可以通过使用不同的 shell 运行脚本来覆盖它。例如,如果你想用 而不是 来运行它,你可以这样做:shbash

sh hello_world.sh

或者,显式使用 :bash

bash hello_world.sh

这在测试脚本在不同 shell 中的行为方式时非常有用。

调试常见问题

即使是简单的脚本也会遇到问题。以下是一些常见问题及其故障排除方法:

  • 权限被拒绝:如果您看到此错误,请仔细检查您是否已将脚本设置为可执行。chmod +x
  • 找不到命令:这通常意味着脚本的 shebang 行缺失或不正确,或者脚本不在您的 .PATH
  • 脚本未按预期运行:在脚本名称后使用 以在调试模式下运行脚本。这将在执行时显示每个命令,这对于查找出错的地方非常有用。bash -x

提示和最佳实践

  • 保持脚本简单:我坚信要让脚本尽可能简单。如果您的脚本变得太复杂,请考虑将其分解为更小的脚本或函数。
  • 使用注释:始终注释您的代码。它使您的脚本更易于维护,尤其是当您(或其他人)在几个月后返回它们时。
  • 错误处理:始终考虑错误。使用条件语句和退出代码来确保脚本的行为可预测。

结论

在 Linux 中执行 shell 脚本是一项基本任务,它打开了一个自动化和高效的世界。对于诸如管理服务器或只是尝试在本地计算机上自动执行一些操作等任务,shell 脚本是一项值得磨练的技能。就我个人而言,我发现看到一个精心设计的脚本完美运行,节省时间并减少人为错误的机会,这是非常令人满意的。

所以,继续编写您的脚本,执行它们,并使您的 Linux 体验尽可能高效!

原创文章,作者:主机说,如若转载,请注明出处:https://www.hostingtalk.cn/how-to-properly-execute-shell-scripts-in-linux/

error: 内容保护