gpt4 book ai didi

linux - Bash 和 Shell 脚本有什么区别

转载 作者:太空狗 更新时间:2023-10-29 11:25:51 25 4
gpt4 key购买 nike

我已经为 UNIX 和 Windows 编写脚本近 3 年了。我一直对这两个术语感到困惑,有一段时间我认为 bash 脚本是 windows cmd 脚本,而 shell 脚本是 UNIX 脚本,但我了解到这是不正确的。那么这两个术语之间有什么区别:BASH 和 Shell 脚本?

最佳答案

“Shell 脚本”是由 shell 执行的脚本的通用术语。 .

“Bash 脚本”是一个更具体的术语;它指的是由一个特定的 shell 执行的脚本,Bash shell .

shell 是一个命令解释程序。它可以交互使用(用户在提示符下键入命令,然后 shell 执行它们),或用作脚本的解释器(将一系列命令写入文件)。

Bourne shell 是 UNIX 上较旧的 shell 之一(不是最古老的,但我们不必担心古老的历史)。其他几个 shell 已作为 Bourne shell 的替代或扩展实现。

特别是,GNU Bash可能是当今最常用的 shell。它实现了与 Bourne shell 相同的功能,以及一些扩展。

Bourne shell 脚本通常以 "Shebang" 开头行:

#!/bin/sh

Bash 脚本通常以指定 Bash shell 的 Shebang 开头:

#!/bin/bash

并且可能取决于 Bash 而非 Bourne shell 实现的功能。

(在某些操作系统上,/bin/sh 可能与 /bin/bash 是同一个命令。)

并非所有 Unix shell 都基于 Bourne shell。特别是,csh 及其派生 tcsh 与 Bourne 派生的 shell 很大程度上不兼容。

Bash 与 Windows cmd 脚本几乎没有关系,除了 Bash 和 cmd.exe 都是命令解释器。

关于linux - Bash 和 Shell 脚本有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32000064/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com