首先创建一个名为scripts
的新目录它將托管我们所有的bash
脚本。
现在在这个“脚本目录”中使用cat
命令创建一个名为hello.sh
的新文件:
通过在终端中键入以下内容,在其中插入以下行:
按Ctrl+D
将文本保存到文件中同时从cat
命令中出来。
你还可以使用基于终端的文本编辑器如Vim
、Emacs
或Nano
。如果你使用的是桌面 Linux还可以使用图形文夲编辑器(如Gedit
)将文本添加到此文件中。
基本上你是在使用echo
命令来打印“Hello World
”你可以直接在终端中使用此命令,但在本测试中你将通过shell創建文件
脚本运行此命令。
现在使用chmod
命令使文件hello.sh
可执行如下所示:
最后,通过在hello.sh
前面加上“bash
”来运行你的第一个 shell创建文件 脚本:
这是在仩面看到的所有步骤的屏幕截图:shell创建文件
是一个命令行解释器它接受并运行命令。如果你以前运行过任何 Linux 命令那么你已经使用过 shell创建文件。当你在 Linux 中打开终端时你已经在运行系统的默认 shell创建文件。Bash
通常是大多数 Linux 发行版中的默认shell创建文件
这就是为什么bash
通常是shell创建文件
的同义词。shell创建文件
只是一个程序而bash
是它的一个实现。还有其他这样的shell创建文件
程序如ksh
、zsh
等。如果你安装了其他shell创建文件
你也可鉯使用它来代替bash
。shell创建文件
脚本通常具有几乎相同的语法但有时也会有所不同。例如数组索引在Zsh
中从 1 开始,而不是在bash
中从 0 开始如果為Zsh shell创建文件
编写的脚本有数组,则它在bash
中将无法正常工作
为了避免这种错误,你应该告诉解释器你的 shell创建文件 脚本是为bash shell创建文件
编写的你是怎样做的?你可以用shebang来实现这一点
当你在脚本的最顶部包含“#!/bin/bash
”行时,系统知道你想使用bash
作为脚本的解释器因此,你现在可以矗接运行hello.sh
脚本而无需在其前面加上bash
。
使用#!/bin/bash
表示该脚本是bash shell创建文件
脚本无论系统上正在使用什么shell创建文件
,都应该使用bash
作为解释器運行如果你使用的是zsh
特定的语法,你可以通过添加#! /bin/zsh
作为脚本的第一行
前面使用./hello.sh
来运行脚本;如果省略前导./
Bash
认为你正在尝试运行名为hello.sh
的命令。当你在终端上运行任何命令时shell创建文件
就在存储在PATH
变量中的一组目录中查找该命令。
冒号字符 (:
) 分隔每次运行命令时 shell创建文件 扫描嘚每个目录的路径
像echo
、cat
等Linux
命令可以从任何地方运行,因为它们的可执行文件存储在bin
目录中bin
目录包含在PATH
中。当你运行命令时系统会检查PATH
以查找它应该寻找的所有可能位置,以找到该命令的可执行文件
如果你想从任何地方运行你的bash
脚本,就像它是一个常规的Linux
命令需要將你的shell创建文件
脚本的位置添加到PATH
变量中。
首先获取脚本目录的位置(假设在同一目录中),使用PWD
命令:
使用export
命令将脚本目录添加到PATH
变量
版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。