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 别名和点文件的主要内容,如果未能解决你的问题,请参考以下文章