MacOS .bash_profile - / usr / bin / alias:第4行:内置:别名:不是内置shell - 如何创建别名?

时间:2017-02-17 14:02:48

标签: bash macos shell

我不知道它为什么不起作用。使用MacOS和bash:

$ echo $SHELL
/bin/bash

以下是文件```.bash_profile``的内容:

enter image description here

我会想象我正在使用正确的文件 - How do I create a Bash alias? - 以及正确的语法......

更新

也试过.bashrc enter image description here

当我尝试重新加载时: $ source ~/.bashrc /usr/bin/alias: line 4: builtin: alias: not a shell builtin

更新

是的,看起来很奇怪

$ type alias
alias is a shell builtin
$ source ~/.bashrc
/usr/bin/alias: line 4: builtin: alias: not a shell builtin

2 个答案:

答案 0 :(得分:1)

鉴于我们已经消除了一系列可能性 -

由于您使用的是bash 3.2,set -x可能无法显示所有隐藏字符,例如文件开头的字节顺序标记。

如果BOM实际上是问题,那么无论文件的内容如何,​​文件的第一行总是会导致错误,如果将alias命令移动到第二行,它将会起作用。同样,如果您从MacPorts或Homebrew安装更新版本的bash,则运行bash -x -l -i将在其尝试在生成的日志中运行的命令的开头显示隐藏的字符。

要解决此问题,请在不保存BOM的文本编辑器中重新创建文件,或使用“另存为...”并在编辑器中选择不带BOM的格式,以便为您提供选项。

答案 1 :(得分:-1)

运行alias命令以显示所有已创建的别名。此外,您应该使用〜/ .bashrc 来获取别名,而不是 .bash_profile

echo "alias p='python -m SimpleHTTPServer'" >> ~/.bashrc
source ~/.bashrc