700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 如何在 Linux 中创建并运行 Shell 脚本(Bash 初学者教程)

如何在 Linux 中创建并运行 Shell 脚本(Bash 初学者教程)

时间:2024-05-18 12:26:43

相关推荐

如何在 Linux 中创建并运行 Shell 脚本(Bash 初学者教程)

文章目录

1、创建并运行第一个 shell 脚本2、将 shell 脚本转换为 bash 脚本3、为什么大多数 shell 脚本都包含 #! /bin/bash 在 shell 脚本的开头?4、将 shell 脚本添加到 PATH(以便它可以从任何目录运行)

1、创建并运行第一个 shell 脚本

首先创建一个名为scripts的新目录,它将托管我们所有的bash脚本。

mkdir scriptscd scripts

现在在这个“脚本目录”中,使用cat命令创建一个名为hello.sh的新文件:

cat > hello.sh

通过在终端中键入以下内容,在其中插入以下行:

echo 'Hello, World!'

Ctrl+D将文本保存到文件中,同时从cat命令中出来。

你还可以使用基于终端的文本编辑器,如VimEmacsNano。如果你使用的是桌面 Linux,还可以使用图形文本编辑器(如Gedit)将文本添加到此文件中。

基本上你是在使用echo命令来打印“Hello World”。你可以直接在终端中使用此命令,但在本测试中,你将通过shell脚本运行此命令。

现在使用chmod命令使文件hello.sh可执行,如下所示:

chmod u+x hello.sh

最后,通过在hello.sh前面加上“bash”来运行你的第一个 shell 脚本:

bash hello.sh

你就会看到Hello, World!打印在屏幕上。

这是在上面看到的所有步骤的屏幕截图:

2、将 shell 脚本转换为 bash 脚本

Bash是“Bourne-Again shell”的缩写,它只是 Linux 中许多可用shell的一种。

shell是一个命令行解释器,它接受并运行命令。如果你以前运行过任何 Linux 命令,那么你已经使用过 shell。当你在 Linux 中打开终端时,你已经在运行系统的默认 shell。

Bash通常是大多数 Linux 发行版中的默认shell。这就是为什么bash通常是shell的同义词。Shell只是一个程序,而bash是它的一个实现。还有其他这样的shell程序,如kshzsh等。如果你安装了其他shell,你也可以使用它来代替bash

shell脚本通常具有几乎相同的语法,但有时也会有所不同。例如,数组索引在Zsh中从 1 开始,而不是在bash中从 0 开始。如果为Zsh shell编写的脚本有数组,则它在bash中将无法正常工作。

为了避免这种错误,你应该告诉解释器你的 shell 脚本是为bash shell编写的。你是怎样做的?你可以用shebang来实现这一点。

3、为什么大多数 shell 脚本都包含 #! /bin/bash 在 shell 脚本的开头?

#!/bin/bash”这一行被称为shebang行,在某些文献中,它被称为hashbang行,这是因为它以两个字符hash '#'bang '!'开头。

#! /bin/bashecho 'Hello, World!'

当你在脚本的最顶部包含“#!/bin/bash”行时,系统知道你想使用bash作为脚本的解释器。因此,你现在可以直接运行hello.sh脚本,而无需在其前面加上bash

使用#!/bin/bash表示该脚本是bash shell脚本,无论系统上正在使用什么shell,都应该使用bash作为解释器运行。如果你使用的是zsh特定的语法,你可以通过添加#! /bin/zsh作为脚本的第一行。

#!/bin/bash之间的空格无关紧要。你也可以使用#!/bin/bash

4、将 shell 脚本添加到 PATH(以便它可以从任何目录运行)

前面使用./hello.sh来运行脚本;如果省略前导./

Bash认为你正在尝试运行名为hello.sh的命令。当你在终端上运行任何命令时,shell就在存储在PATH变量中的一组目录中查找该命令。

可以使用echo查看该PATH变量的内容:echo $PATH

冒号字符 (:) 分隔每次运行命令时 shell 扫描的每个目录的路径。

echocatLinux命令可以从任何地方运行,因为它们的可执行文件存储在bin目录中。bin目录包含在PATH中。当你运行命令时,系统会检查PATH以查找它应该寻找的所有可能位置,以找到该命令的可执行文件。

如果你想从任何地方运行你的bash脚本,就像它是一个常规的Linux命令,需要将你的shell脚本的位置添加到PATH变量中。

首先,获取脚本目录的位置(假设在同一目录中),使用PWD命令:

pwd

使用export命令将脚本目录添加到PATH变量。

export PATH=$PATH:/home/ay/scripts

运行hello.sh

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。