使别名行为永久化

使别名行为永久化

我创建了一个别名行为

    alias chrome="open -a 'Google Chrome'"
    chrome foo.html

然而,当我重新启动终端时,它拒绝工作。

    $ chrome foo.html
    -bash: chrome: command not found

作为解决方案,我将命令放置到~/.bash_profile

    # Add to ~/.bash_profile
    # shortcut for chrome
    alias chrome="open -a 'Google Chrome'"

再次报告类似的错误

    $ chrome foo.html
    -bash: chrome: command not found

遇到这样的问题怎么解决呢?

答案1

将别名定义保存在文件中,并确保该文件源自您的~/.bash_profile~/.profile~/.bashrc。例如,将以下内容添加到这些文件之一:

[ -e ~/.bash-aliases ] && . ~/.bash-aliases

每当您登录或启动新 shell 时,这都会将保存的别名加载到 shell 中。

以下两个别名很有用:

alias loadalias='source ~/.bash-aliases'
alias savealias='alias >~/.bash-aliases'

输入上面的两个别名,然后运行savealias

savealias顾名思义,它将当前 shell 的别名定义保存到~/.bash-aliases文件中。需要注意的是,它会完全覆盖现有文件 - 如果任何别名已更改或使用unalias.

loadalias.bash-aliases对于将当前内容加载到当前 shell 中非常有用。典型用法是在一个终端 shell 中创建或修改别名,使用 保存savealias,然后loadalias在您可能打开的任何其他终端中运行。


可能有很多方法可以改进别名管理,但这很简单并且很容易在新系统上设置。我从 20 世纪 90 年代初就开始使用它,不需要任何更复杂的东西。

答案2

您的别名应该输入.profile.

相关内容