bash:在一个会话之外保存别名

bash:在一个会话之外保存别名

最近,我一直在摆弄 Linux 的终端命令,试图更好地了解系统。

我很高兴知道我可以使用别名命令为命令指定不同的名称以便调用它们。例如,

alias print="echo"

在这种情况下,echo将会被替换print

唯一的问题是它似乎只停留一个终端会话。在不使用第三方软件的情况下,有没有办法可以永久保留这些别名?如果有软件替代品,我会很高兴听到它们。

我只是在寻找一种无需下载任何内容即可完成此操作的方法。

答案1

您需要将别名放入一个文件中,该文件将在所有会话开始时读取。

您的~/.bashrc文件应包含以下内容:

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

这意味着如果您有一个文件~/.bash_aliasesfile,那么它将被获取,并且其中定义的所有别名都将在会话中应用。最佳做法是将别名保存在 中~/.bash_aliases,如果您没有该文件,可以手动创建它。作为替代方案,您可以将别名放入~/.bashrc.

另请注意,如果您想永久保存仅为当前终端会话定义的别名,您可以运行:

alias >> ~/.bash_aliases

答案2

.bashrc常见的方法是在主目录的文件中设置别名(bash当然如果您用作 shell)。

.bashrcbash您启动终端时读取的文件。

只需编辑它(注意,.默认情况下隐藏名称以 a 开头的文件)并添加一行,例如:

alias ll='ls -l'

如果您想在不启动新终端的情况下测试它,只需source

$ ll
bash: ll: command not found

$ source ~/.bashrc

$ ll
-rw-rw-r--  1 apaul apaul  31 Mar  7 21:51 file1.txt

答案3

在您的主目录中创建一个文件.bashalias,或编辑现有文件~/.bashalias。要在每次启动 bash 会话时读取此文件,请将以下内容添加到您的~/.bashrc

source ~/.bashalias

答案4

zsh如果有人使用添加别名的方式,请添加到前面的注释中,.zshrc使用以下命令使用该文件:

sudo nano ~/.zshrc

请注意,这sudo不是必需的,您vim也可以使用其他编辑器选项,顺便说一句,gedit如果您的计算机使用该文本编辑器,GUI 也是一个不错的选择。

然后您必须在文件末尾添加别名:

alias print="echo"

我不确定为什么在我的情况下更改.bashrc文件不起作用,可能该行为是由默认终端的更改产生的。

相关内容