【发布时间】:2015-11-07 02:52:14
【问题描述】:
我已经为 UNIX 和 Windows 编写脚本将近 3 年了。我一直对这两个术语感到困惑,有一段时间我认为 bash 脚本是 windows cmd 脚本,而 shell 脚本是 UNIX 脚本,但我了解到这是不正确的。那么这两个术语有什么区别:BASH 和 Shell 脚本?
【问题讨论】:
-
“shell 脚本”是一个描述......好吧,可以由"a shell' 解释/运行的“某些脚本”。通常是'sh'-derived (Bourne-shell like) shell。 Bash 是 shell 的一个特定实现,是“sh”派生的,具有许多特性。从技术上讲,“shell 脚本”可以用于不同类型的 shell;但这种情况通常很少见;或由诸如“批处理文件”之类的指定表示 - 对于 cmd.exe “shell 脚本” - 或“powershell”。
-
所以基本上,有不同类型的 shell,而 bash 是一种类型的 shell?
-
是的。这是一个相当不错的总结。
-
您可能将 Windows cmd 脚本的“bash”与“batch”混淆了。
-
@glennjackman 不。我知道批处理是在 Windows 上运行的脚本,它们的扩展名为 .bat。我只是在问 bash 和 shell 之间的区别 :)
标签: linux bash shell cmd scripting