扩展名为 bash 和 sh 的文件

Gok*_*tug 4 shell bash shell-script

我做了有关使用文件的一些研究bashsh扩展。大多数人和资源都说,如果一个文件有bash扩展名,那么它就包含bash脚本。同样,带有sh扩展名的文件包含sh脚本。

但是,我找不到 bash 和 sh 脚本之间的区别。有一些课程和文章旨在教人们在 shell 上编写脚本,它们都具有标题shell scripting

在这一点上,shell 脚本对应于哪一个?

Bash 脚本或 Sh 脚本。

我试图理解的是 bash 和 sh 脚本之间的区别。

Dop*_*oti 18

POSIXland 中的文件名没有“扩展名”。.文件名中的A与任何其他字符没有什么不同,除了可能被像我们这样的肉袋子赋予的含义外,没有其他特定含义。

人们可以希望与结尾的名称的任何文件,.bash将意味着通过被执行的脚本bash外壳,但没有这方面的保证。

事实上,无论使用哪个解释器,给所有shell 脚本一个后缀是很常见的.sh,因为 shebang 行应该正确指定应该使用哪个 shell 来执行这样的文件。

shbash是两个不同但相关的壳;2以及很多其他的如kshcshzshfishashdash,,但更多的人。

每个 shell 都有自己的语法、功能、习惯和弱点;一些 shell 在很大程度上彼此兼容(通常为sh它编写的任何脚本也可以在bash或许多其他 shell 中运行),但有些则不然。