linux - 在 linux 中更改符号链接(symbolic link)的目标而不更改其名称

标签 linux bash shell ubuntu symlink

我的 HOME 目录中有一个符号链接(symbolic link)('cur_project'),每次我开始处理任何新项目时,我都想通过在终端上调用 SET_CUR_PROJ 变量来更改它的目的地。

我在 ~/.vimrc 文件中添加了这样一行:

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

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

$source ~/.bashrc
$$SET_CUR_PROJ

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

最佳答案

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

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

然后用 SET_CUR_PROJ 调用它

关于linux - 在 linux 中更改符号链接(symbolic link)的目标而不更改其名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19885522/

相关文章:

linux - 如何使用 ffmpeg 从视频中简单地删除重复帧

linux - 管理 Shell 任务

c - 如何安全地将任意文本作为参数传递给Shell脚本中的程序?

linux - 从命令行计算文件校验和

linux - Shell 命令检查文件是否有今天的日期

linux - 再次需要帮助来改变脚本的输出

arrays - bash 将 XML 解析为多维数组

python - 无法从 Eclipse 中的 Pydev 环境运行 shell 脚本

linux - 意外的 EOF、缺少引号或反引号?

bash - 在 bash 中按特定顺序打印文件内容