Linux:我的符号链接坏了

Linux: My symbolic links are coming out as broken

#!/bin/bash
clear

shopt -s failglob

source="${PWD%/*/*}"
workshop="$source/workshop/content/211820"
mods=$PWD/mods

mkdir -p "$mods" || exit

for pathname in "$workshop"/*/contents*.pak; do
    name=${pathname#"$workshop"/}
    name=${name%/*}-${name#*/}

    ln -s "$PWD/$pathname" "$mods/$name"
done

我有一个 BASH 脚本,用于扫描 workshop 目录中文件夹中名为 contents.pak 的所有文件。该脚本然后创建一个符号 link 到 mods 目录,名称格式为:folder-contents.pak。然后脚本重复这个过程,直到没有更多的文件来创建符号 link of.

脚本本身工作正常,但是,出现的所有符号 link 都已损坏。

文件和文件夹结构如下所示:

.
├── common
│   └── Server
│       ├── linux
│       │   └── server_software
│       └── mods
├── server.acf
└── workshop
    └── content
        └── 211820
            └── 1234
                └── contents.pak

我已经尝试 运行 ln -s 使用 sudo 或使用绝对路径,但结果仍然是损坏的符号 links。我能做些什么来解决这个问题吗?

    ln -s "$PWD/$pathname" "$mods/$name"

What could I be doing wrong?

由于 $pathname 已经是绝对的,所以 $PWD/ 的前置是有害的;就这样吧。