创建多个临时别名


9

我不是root用户,我无权访问已创建所有别名的全局别名文件,但是我想创建一些仅在我登录的会话中保持活动状态的别名。我使用命令alias x='cd /parent/child'创建别名,这使我可以x在控制台上键入内容,并将dir更改为/ Parent / Child。

但是,我想创建多个别名,也不想每次都键入自己创建的每个别名。

我尝试将所有alias ='do this'行放入文件中(授予777权限),希望在运行该文件时,每次登录时都将创建所有这些别名。但是那没有发生。

例如:

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

我也在文件中尝试了此操作,但没有成功:

alias x='cd /parent/child';alias y='cd /a/b/c';alias z='tail -0f some.log'

我尝试过的别名都没有出现在全局别名中。(我输入了别名,并在屏幕上看到了输出)。


您可以将所有别名放入.bashrc文件中。
cuonglm

@Web Nash:但是,如果您想将不同的参数传递给不同的命令,则将无法正常工作
因此,

Answers:


12

在文件中生成所有会话别名,例如alias.txt

alias x='cd /parent/child'
alias y='cd /a/b/c'
alias z='tail -0f some.log'

然后使用

 . ./alias.txt

对于此单个会话,您将在别名列表中拥有所有别名。

编辑:

请务必使用

. ./alias.txt

./alias.txt

在前一种情况下,内容被“仿佛已键入”读取,而后一种情况将在将退出的外壳中定义别名。


在发布此问题之前,我最初做了类似的事情。我只是将这些行放在没有任何扩展名的文件中,而不是文本文件,而这行不通。但即使是在扩展名为.txt试了一下它没有工作
网页纳什

完美地工作了。非常感谢。我不明白使用这三种形式之间的区别1)alias.txt 2)./alias.txt 3)。./alias.txt
Web Nash

如果,形式1)和2)是等效的。在您的$ PATH中。thay将百倍地调用一个新的shell,运行命令。在大多数情况下,这是可以的,但是,如果要使用别名或函数,则在退出shell时定义将消失。
Archemar 2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.