在.bashrc文件中将路径名设置为别名

时间:2015-01-29 01:47:04

标签: bash

我正在尝试在.bashrc文件中使用别名来存储我经常去的路径(Ubuntu 14.04),即alias pathname="/home/Dommol/test/next"但是当我尝试使用别名cd pathname时出现错误-bash: cd: pathname: No such file or directory

问题: 如何让bash认识到我正在尝试使用别名pathname而不是尝试更改为目录pathname

另外,我可以制作别名alias pathname="cd /home/Dommol/test/next",只需输入pathname即可更改

2 个答案:

答案 0 :(得分:2)

alias用于别名命令,而不是shell变量。要执行您想要的操作,请在.bashrc

中设置shell变量
pathname="/home/Dommol/test/next"

然后在提示符处:

$ cd $pathname

使用alias制作一个自定义命令,其中包含您在.bashrc中想要的参数,正如您在“旁边”中所述:

alias pathname="cd /home/Dommol/test/next"

然后在提示符处:

$ pathname

答案 1 :(得分:0)

潜伏者的答案应该是公认的解决方案。但是,为了回答你原来的问题,我认为,这可能有用:

#Your test code:
alias pathname="/home/Dommol/test/next"
cd pathname

#Similar functionality
ln -s /home/Dommol/test/next pathname
cd -P pathname

如果你有更多这样的目录&想要从任何位置cd,你可以这样:(请注意,下面的代码仅限于cd命令。)

mkdir -p ~/.cdpath #Random name - could be changed
export CDPATH=~/.cdpath

ln -s /home/Dommol/test/next ~/.cdpath/pathname
cd -P pathname #Will work from any starting location.

ln -s /home/Dommol/test/next2 ~/.cdpath/pathname2
cd -P pathname2 #Will work from any starting location.

最佳解决方案是将其创建为变量,正如潜伏者的回答所解释的那样。该解决方案也适用于其他命令。

相关问题