更改符号链接的目标而不更改其在linux中的名称

时间:2013-11-10 02:17:06

标签: linux bash shell ubuntu symlink

我的HOME目录中有一个符号链接('cur_project'),并希望每次通过在终端上调用SET_CUR_PROJ变量开始处理任何新项目时更改其目标。

我在〜/ .vimrc文件中添加了一行代码:

SET_CUR_PROJ= "ln -sf -T $PWD $HOME/cur_project"

通过这一行,我的意思是每当我调用此变量时,它应该将该符号更改为当前工作目录。 我正在运行此命令:

$source ~/.bashrc
$$SET_CUR_PROJ

这种方法的问题在于它在源时解析了两个变量$ PWD和$ HOME,但我需要将$ PWD解析为其最近的值。

2 个答案:

答案 0 :(得分:2)

变量不能那样工作。你想要的是一个功能:

function SET_CUR_PROJ {
    ln -sf -T $PWD $HOME/cur_project
}

然后用SET_CUR_PROJ

调用它

答案 1 :(得分:0)

或者 - 以调用另一个进程为代价 - 你可以做$(pwd)。