!/bin/bash

admin
仅包含 Bash 脚本的开头部分,即 Shebang 行,它位于脚本文件的第一行,明确指定了该脚本应由系统的 Bash 解释器来执行,这一行对于脚本的正确运行至关重要,它定义了脚本的运行环境,确保系统调用正确的 shell 来解析和执行后续的命令序列。

Ubuntu执行编好的Shell脚本:从编写到运行的完整指南

在 Ubuntu 系统中,Shell 脚本是自动化任务、批量处理文件以及管理系统配置的强大工具,对于许多 Linux 最大的困惑往往不是如何编写代码,而是如何让 Ubuntu 正确地执行编好的 shell 脚本

本文将带你一步步了解从创建脚本文件到成功运行它的全过程,帮助你掌握这一核心技能。

第一步:编写你的脚本

你需要创建一个文本文件,并在其中编写 Shell 命令,你可以使用任何文本编辑器,nanovimgedit,对于初学者,nano 是最友好的选择。

!/bin/bash

打开终端,输入以下命令创建一个名为 test.sh 的文件:

nano test.sh

在打开的编辑器中,输入以下简单的脚本内容(打印一行文字):

echo "当前日期和时间是:$(date)"

保存并退出(在 nano 中按 Ctrl+O,回车保存,然后按 Ctrl+X 退出)。

第二步:赋予执行权限(关键步骤)

这是很多初学者容易忽略的一步,仅仅创建文件并不代表它就可以被运行,在 Linux 系统中,文件默认只有“读”和“写”权限,没有“执行”权限。

你需要使用 chmod 命令来改变文件权限,添加执行权限。

输入以下命令:

chmod +x test.sh
  • chmod:Change Mode(修改模式)的缩写。
  • +x:添加执行权限。
  • test.sh:文件名。

你就可以通过查看文件属性来确认权限的变化了(例如使用 ls -l test.sh,你会看到 x 标志出现在所有者、组和其他用户的权限列中)。

第三步:执行脚本

你的脚本已经准备就绪,在 Ubuntu 中,有三种常见的方式来执行编好的 shell 脚本:

直接执行(推荐) 这是最标准的方式,直接在文件名前加上 ,表示“在当前目录下执行”。

./test.sh

使用 Bash 解释器 如果你不想给脚本添加执行权限,或者脚本第一行的 #!/bin/bash 指向了其他解释器,你可以显式地调用 Bash 来读取并执行脚本。

bash test.sh

使用 Sh 解释器 shbash 的轻量级版本,如果脚本很简单且不依赖 Bash 特有的功能,也可以使用 sh 来运行。

sh test.sh

常见问题与解决方案

  1. Permission denied(权限被拒绝):

    • 原因: 你忘记了 chmod +x 这一步。
    • 解决: 重新运行 chmod +x your_script.sh
  2. command not found(找不到命令):

    • 原因: 脚本中引用的命令不在系统的 PATH 环境变量中,或者拼写错误。
    • 解决: 检查脚本中的命令拼写,或者确保命令已安装。
  3. No such file or directory:

    • 原因: 你可能忘记在文件名前加 ,或者脚本不在当前目录下。
    • 解决: 使用 ls 查看当前目录,或使用绝对路径(如 /home/user/scripts/test.sh)。

在 Ubuntu 上执行编好的 shell 脚本,核心流程可以概括为:编写代码 -> 添加执行权限 -> 运行脚本,掌握这一流程,你就打开了自动化 Linux 管理的大门,通过不断的练习,你可以编写出复杂的脚本来自动化日常繁琐的工作。

文章版权声明:除非注明,否则均为xmsdn原创文章,转载或复制请以超链接形式并注明出处。

取消
微信二维码
微信二维码
支付宝二维码