我正在尝试在.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
即可更改
答案 0 :(得分:2)
alias
用于别名命令,而不是shell变量。要执行您想要的操作,请在.bashrc
:
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.
最佳解决方案是将其创建为变量,正如潜伏者的回答所解释的那样。该解决方案也适用于其他命令。