将环境变量用于完整路径的一部分

时间:2016-11-12 19:46:52

标签: linux bash

如何创建一个环境变量(可能不是正确的单词?)作为很长路径的快捷方式?但是,我不希望它成为完整的道路。我知道如何在bashrc中设置绝对路径,但我想要的是:

cd $MYPATH/further/down/path/

如何设置$MYPATH以这种方式使用?每当我尝试google时,所有返回的内容都是我不想要的完整路径的别名。

编辑#1)我希望路径对于每个新的终端会话都是持久的。所以我正在寻找一个放入bashrc的命令。做alias MYPATH=~/my/path不起作用。我确信有一个简单的命令,我只是没有意识到这就是我想要的。

2 个答案:

答案 0 :(得分:1)

CDPATH包含一个目录列表,在尝试解析用作cd参数的相对目录时应该用作起点。例如,

CDPATH=/a/b/c/d/e:/a/b/c/f/g

cd bin

如果bin不是当前工作目录中的目录,bash将首先尝试更改为/a/b/c/d/e/bin,然后/a/b/c/f/g/bin

答案 1 :(得分:1)

这完全符合您的想法。如果你定义

export MYPATH=/home/user

然后你可以像

一样使用它
cd $MYPATH/further/down/path/

在所有shell中,作为shell的子项启动,您定义了变量。如果你想让它持久化,你会把它放在profile或bashrc脚本中,所以它在每次登录时设置。

注意:如果你想在变量之后连接字母,你必须使用它:

cd ${MYPATH}2/other

最后,如果它包含空格,引用变量并没有什么坏处(但不要使用'singlequotes'):

cd "${MYPATH}/test"