Bash 别名和点文件

Posted

技术标签:

【中文标题】Bash 别名和点文件【英文标题】:Bash Aliases and Dotfiles 【发布时间】:2017-05-09 10:23:56 【问题描述】:

我最近在一个包含别名的文件顶部遇到了这个# -*- sh -*-。它是某人的 bash 目录中的点文件的一部分,直到现在,我以前从未见过它。那么,这是什么?它与使用 shebang 有何不同?我尝试在谷歌上搜索 shebang 的替代品,但没有想出任何可以让我知道上面是什么的提示。

【问题讨论】:

shebang 是一个幻数(本质上),它告诉 bash 以下脚本应该由指定的可执行文件解释,而不是通过 bash(或任何当前 shell)执行。更多信息:unix.stackexchange.com/a/87600 【参考方案1】:

具有别名定义的文件不需要需要shebang行,因为单独执行它们不会将定义添加到当前 shell,这是别名定义的点.

相反,具有别名定义的文件必须来源(在当前 shell 的上下文中运行,使用source.)。

因此,您所看到的只是一个普通的注释,它表明该文件的设计来源是哪个特定的 shell (sh)。

【讨论】:

以上是关于Bash 别名和点文件的主要内容,如果未能解决你的问题,请参考以下文章

如何创建 Bash 别名?

Git别名-Bash配置文件

Linux上的10个超级方便的Bash别名

sh 无需直接编辑bash文件即可添加别名。

不可或缺的 Bash 别名

Shell编程Shell中Bash基本功能