如何在bash脚本(Ubuntu 17.04)中正确设置别名?
问题描述:
我有这个脚本调用menal
在我~/bin
目录:如何在bash脚本(Ubuntu 17.04)中正确设置别名?
#!/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
,它的工作原理。
我在做什么错?它是一个脚本范围问题或什么?
答
你可以把它添加到您的.bash_profile
。
alias mendir='cd ~/projects/myproject'
然后做source ~/.bash_profile
应该创建别名,并在每次登录都会工作。
+0
没有真正的需要将此添加到用户bashrc或配置文件 - 只要该文件来源于正确的时间点,它可以位于任何位置。 – Lix
+0
真正的..OP试图设置一个别名..这将使它持久.. –
不是重复的,但我认为它会回答为什么你的别名没有被持久化的问题 - https://superuser.com/questions/176783/what-is-the-difference-between-executing-a- bash-script-vs-sourcing-it – Lix