You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境下BASH脚本生成的符号链接全部损坏如何修复?

问题原因

你脚本中创建符号链接时重复拼接了$PWD前缀,导致源文件路径错误:

  • 遍历得到的pathname变量本身已经是完整的绝对路径,再拼接$PWD/会生成无效的嵌套路径,系统找不到对应文件,所以生成的符号链接全部损坏。

修复后的脚本

#!/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#*/}
    # 去掉多余的$PWD前缀,直接用pathname作为源路径
    ln -s "$pathname" "$mods/$name"
done

验证方法

脚本运行完成后,执行以下命令验证链接有效性:

  • 查看链接指向路径是否正确:ls -l "$mods"
  • 验证路径可正常解析:readlink -f "$mods/1234-contents.pak",输出结果如果是实际的contents.pak文件路径即为修复成功。

内容的提问来源于stack exchange,提问作者rattle189

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 15:24:02