如果您创建一个别名,例如:
alias cls="clear"
它存在,直到您终止终端会话。当启动新的终端窗口时,别名不再存在。如何创建每个终端会话中都存在的“永久”别名?
#1 楼
您可以在~/.bash_aliases
文件中放置此类别名。该文件由
~/.bashrc
加载。在Ubuntu 10.04上,无需注释以下行以启用~/.bash_aliases
。在Ubuntu 11.04和更高版本上,已启用它:if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
任何新终端上都可以使用别名命令。要在任何现有终端上使用别名命令,需要从该终端获取
~/.bashrc
,例如,source ~/.bashrc
评论
我建议+1,而不是编辑〜/ .bashrc。尽管〜/ .bashrc确实对于其他各种目的很有用,但它具有太多的元素,可能会使不熟悉Linux shell特性的用户抛弃。
–ændrük
2010-10-6 21:50
例如:echo“ cls ='clear'” >>〜/ .bash_aliases &&源〜/ .bash_aliases
–滚刀
2012-09-10 15:56
@ændrük我实际上发现大量的shell配置文件令人困惑。在我看来,如果有一个包含所有设置的相当长的配置文件,会更容易。
– haziz
2012年12月13日在7:14
@hobs必须是:echo“ alias cls ='clear'” >>〜/ .bash_aliases &&源〜/ .bash_aliases
–阿米尔·阿里·阿克巴里(Amir Ali Akbari)
13年8月15日在10:30
好的,所以这个话题现在已经快7年了,我似乎找不到这样的最新答案。但是,它不再适合我了,现在问是否有所改变
–TheDefinitionist
16-10-5在13:00
#2 楼
将行添加到~/.bashrc
或~/.profile
/ ~/.bash_profile
以进行远程登录。如果要为所有用户执行该命令,请将其放入
/etc/bash.bashrc
。编辑:在最新版本的Ubuntu,
~/.bashrc
会自动获取~/.bash_aliases
,因此最好将永久别名放入此文件中。评论
谢谢,当我写〜/ .bachrc P.S.我的主目录中没有〜/ .profiles。
–桑戈
2010年8月6日15:31
.profile现在可能是.bash_profile
–txwikinger
2010年8月6日15:32
如果相关文件不存在,则可以简单地创建它。
– Ryan C. Thompson
10年8月6日在18:03
谢谢,我想知道两者之间有什么区别。 (bashrc和bash_profile)
–emf
10-10-6在20:28
joshstaiger.org/archives/2005/07/bash_profile_vs.html了解〜/ .bash_profile和〜/ .bashrc之间的区别
–YouAreAwesome
16年6月7日在8:12
#3 楼
您可以将以下功能添加到.bashrc文件中。function permalias ()
{
alias "$*";
echo alias "$*" >> ~/.bash_aliases
}
然后打开一个新终端或在当前终端中运行
source ~/.bashrc
。现在,您可以使用permalias
命令创建永久别名,例如permalias cls=clear
。评论
用法说明:当我键入mkalias smount ='sudo mount'时,引号并没有引起任何反响,因此我的解决方案是mkalias“ smount ='sudo mount'”。如果要别名2个单词的命令,您也将需要此别名。
–TecBrat
13年6月29日在22:04
我为此创建了一个要点:gist.github.com/Masterxilo/f1967743fda3a1aded56ebaff4dd097b。使用{curl -s https://gist.githubusercontent.com/Masterxilo/f1967743fda3a1aded56ebaff4dd097b/raw/permalias | |为当前用户安装permalias。源/ dev / stdin;来源〜/ .bashrc; }
– masterxilo
18年11月20日在20:34
但是,我创建了permfunction,这是功能更强大的替代gist.github.com/Masterxilo/29ac0df083827bbd45a7c8ddcf3936d7,它会在PATH上创建全局安装的脚本。这些将立即可用于所有打开的会话,并且更加灵活。使用curl -s https://gist.githubusercontent.com/Masterxilo/29ac0df083827bbd45a7c8ddcf3936d7/raw/permfunction安装| sudo -E bash-; hash -d permfunction&> / dev / null ||真正
– masterxilo
18年11月20日在20:36
#4 楼
有关~/.bash_profile
和~/.bashrc
之间的区别,请参见http://www.joshstaiger.org/archives/2005/07/bash_profile_vs.html。 t。 ~/.bashrc
包含以下内容,其中包括~/.bash_profile
文件。这是添加别名的最合适的位置。# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
#5 楼
将该命令粘贴在您的~/.bash_profile
的最后一行评论
为什么不〜/ .bashrc?
– Michael Crenshaw
10年8月6日在15:23
我知道,bashrc是首选,尽管不清楚为什么
–emf
2010-10-10 18:46
评论
对于此特定示例,^ L(Control-l)也会清除屏幕。