我最近在一个带有别名的文件顶部看到了这个 # -*- sh -*-
。它是某人的 bash 目录中的点文件的一部分,直到现在,我以前从未见过它。那么,这是什么以及它与使用 shebang 有何不同?我尝试在谷歌上搜索 shebang 的替代品,但没有找到任何提示让我知道上面是什么。
最佳答案
具有别名定义的文件不需要需要 shebang 行,因为单独执行它们不会将定义添加到当前 shell,这是别名定义的要点.
相反,具有别名定义的文件必须是来源(在当前 shell 的上下文中运行,使用source
或。
)。
因此,您所看到的只是一个普通的注释,它指示该文件的来源是哪个特定的 shell (sh
)。
关于Bash 别名和点文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41306084/