Linux 对部分完整路径使用环境变量
我如何创建一个环境变量(可能不是正确的词?)作为很长路径的快捷方式?然而,我不希望它是完整的路径。我知道如何在bashrc中设置绝对路径,但我想要的是:Linux 对部分完整路径使用环境变量,linux,bash,Linux,Bash,我如何创建一个环境变量(可能不是正确的词?)作为很长路径的快捷方式?然而,我不希望它是完整的路径。我知道如何在bashrc中设置绝对路径,但我想要的是: cd $MYPATH/further/down/path/ 如何设置以这种方式使用的$MYPATH?每当我尝试用谷歌搜索时,所有返回的都是我不想要的完整路径的别名 编辑#1)我希望每个新终端会话的路径都是持久的。因此,我正在寻找一个命令来放入bashrc。执行别名MYPATH=~/my/path不起作用。我确信有一个我不知道的简单命令可以满足
cd $MYPATH/further/down/path/
如何设置以这种方式使用的$MYPATH
?每当我尝试用谷歌搜索时,所有返回的都是我不想要的完整路径的别名
编辑#1)我希望每个新终端会话的路径都是持久的。因此,我正在寻找一个命令来放入bashrc。执行别名MYPATH=~/my/path不起作用。我确信有一个我不知道的简单命令可以满足我的要求。
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
这完全按照您的想法工作。如果你定义
export MYPATH=/home/user
然后你可以像这样使用它
cd $MYPATH/further/down/path/
在所有shell中,从定义变量的shell的子级开始。如果您想使其持久化,您可以将其放在profile或bashrc脚本中,因此在每次登录时都会设置它
注意:如果要在变量后连接字母,则必须使用以下命令:
cd ${MYPATH}2/other
最后,如果它包含空格,引用变量也没有什么坏处(但不要为此使用'singlequotes'
):
如果将
MYPATH
设置为所需的路径,那么会出现什么问题<代码>cd将起作用,因为bash计算env。vars。。。不清楚的。。。请进一步解释。除了CDPATH,您还可以对经常访问的内容使用aliasalias work=cd/…
谢谢!出口,以前从未使用过!这正是我想要的:)export
仅用于设置子进程将使用的变量的值,而不仅仅是当前shell。@chepner是的,我默认包括它,因为有子shell并不少见
cd "${MYPATH}/test"