如何在bash脚本(Ubuntu 17.04)中正确设置别名?

时间:2017-04-23 12:18:39

标签: bash ubuntu

我的menal目录中有一个名为~/bin的脚本:

#!/bin/sh

alias mendir='cd ~/projects/myproject'

它具有可执行属性,我希望在运行它时为终端会话设置cd命令的适当别名。但它并没有。当我在终端中输入$ menal时,它显示没有错误,但是当我尝试$ mendir后,我得到了

No command 'mendir' found, did you mean:
 Command 'menhir' from package 'menhir' (universe)
mendir: command not found

当我输入

$ alias mendir='cd ~/projects/myproject'
$ mendir

在终端,它有效。

我做错了什么?这是一个脚本范围问题吗?

2 个答案:

答案 0 :(得分:1)

是的,这是一个范围问题。按以下方式调用它不会产生您期望的结果:

./bin/menal

如果您希望别名保留,请使用source

source ./bin/menal

答案 1 :(得分:0)

您可以将其添加到.bash_profile

alias mendir='cd ~/projects/myproject'

然后执行source ~/.bash_profile

它应该创建别名,并且还可以在每次登录时使用。