什么是脚本以及如何编写脚本?

Mys*_*rio 5 11.04

有几次我收到了一些代码作为问题的解决方案。我的问题是如何为一些相当常规的任务自己编写这些类型的脚本?

con*_*use 12

有多种脚本语言可用。Linux 下最常见的可能是BashPhytonPerl。他们都有自己的优点和缺点。这是一个非常广阔的领域。对于初学者,我推荐Bash Guide for Beginners来学习如何自动化日常任务。Bash 是理想的选择,因为它存在于几乎所有 Linux 发行版中,通常甚至是默认 shell - 当您学习 bash 脚本时,您还可以学习如何非常有效地使用 shell。所以这是 Bash 的一个优点。我个人最喜欢 Perl。

所有脚本语言的共同点是您编写一个包含命令的常规文本文件。这些文件称为脚本。脚本文件应以一行指定您选择的语言的解释器(即在您的文本文件中执行命令的程序)开始。这一行的一个例子是这样的:

#!/bin/bash
Run Code Online (Sandbox Code Playgroud)

这告诉您的计算机以下几行是要使用 bash shell 执行的 bash 命令。可以在各种指南中了解可用命令的内容。

编写该文件后,您需要使其可执行。假设您的文件命名foo.sh为 shell 中的这一行将使其可执行:

chmod +x foo.sh
Run Code Online (Sandbox Code Playgroud)

之后,您可以运行脚本键入:

./foo.sh
Run Code Online (Sandbox Code Playgroud)

ENTER后。完整脚本的一个非常简单的示例是:

#!/bin/bash
# This script prints "Hallo world X" five times
#+where 'X' is a number from 1 to 5.
for i in 1 2 3 4 5; do
    echo "Hallo world $i"
done
Run Code Online (Sandbox Code Playgroud)

这就是我在gnome-terminal 中编写和执行它的方式,这是 Ubuntu 中的默认图形终端:

在此处输入图片说明

  • 只有两点: 1. 你不需要严格地在文件顶部添加“hash-bang”(#!/bin/bash)行或使其可执行 - 它可以作为`bash myscript.sh 执行`. 2. 在你的主文件夹中创建一个 `bin/` 目录并将你的脚本放在那里可能很方便 - 该目录被添加到 PATH 并且脚本可以从任何地方获得 (3认同)