Bash 是许多 Linux 发行版中常用的 shell。Bash 是一名命令解释器。它是一个仅命令行界面,包含一些内置命令,它能够启动其他程序并控制从中启动的程序(作业控制)。
(资料图)
Linux中的Bash。
Bash是一个默认的shell,非常方便。例如,它们能记住我们输入的命令,让我们重复使用这些命令。而且bash让我们定义自己的命令缩写、快捷键和其他功能。
Bash是可编程的。我们可以写一个bash脚本来处理我们的日常工作。每当我们发现自己在重复做某项工作时,我们应该尝试通过编写shell脚本来实现自动化。还有更强大的脚本语言,比如Perl、Python和Ruby,但Linux shell bash是一个很好的开始。毕竟,我们已经知道如何输入命令了。
Bash的优势
Bash 与其他 shell 一样强大,但添加了方便的功能,如示例代码中的双括号([[ 和 ]])。这些“Bashisms”深受Bash用户的喜爱,因为它们避免了其他shell(如tcsh或ash)中有时冗长和笨拙的语法。
虽然它们是 Bash 独有的,但是不符合 POSIX 标准,这可能会导致未运行 Bash 的系统出现兼容性问题。再说一次,Bash是开源自由软件,所以大多数用户可以在需要时安装它。缺乏兼容性只会强制额外的依赖关系,并且不会排除任何人使用脚本。
如何在 Linux 中使用 Bash。
大多数现代Linux和Unix发行版默认提供Bash shell。他们这样做是因为 Bash 是众所周知的,并且它具有其他外壳所没有的几个便利功能。
但是,某些系统默认使用另一个 shell。要确定我们是否正在运行 Bash shell,我们可以使用 echo 命令以及一个表示当前正在运行的进程名称的特殊变量:
$ echo $0bash
了解 Linux 中的 Bash 脚本
Bash 脚本是一个纯文本文件,其中包含一系列命令。这些命令是我们通常在命令行上键入ouselves的命令(例如ls或cp)和我们可以在命令行上输入但通常不会输入的命令的混合(。
我们可以在命令行上正常运行的任何内容都可以放入脚本中,它将执行完全相同的操作。同样,我们可以放入脚本中的任何内容也可以在命令行上正常运行,它将执行完全相同的操作。
Linux Bash 替代品
在 Linux 上,能够理解用户命令和设置并将其传递给计算机进行进一步处理的解释器称为 shell。以下是 Linux 上的一些 shell:
sh – Bourne shell 是第一个在 UNIX 上引入的 shell。Bash在sh上有所改善。所有的 sh 命令也可以在 bash 上运行,但并非所有的 bash 命令都可以在 sh shell 上使用。这使得 bash 成为 sh 和其他选项/模块的超集。csh – 语法类似于 C 编程语言的 C shell。tcsh – TENEX C shell是具有附加功能的C外壳。ksh – Korn shell,一种命令和编程语言。