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/
的前置是有害的;就这样吧。
#!/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/
的前置是有害的;就这样吧。