有什么办法让符号链接有退路吗?如果找不到目的地,则应使用另一个目标。
我想使用一个配置文件的程序是不同的,无论驱动器是否已安装。因此,我将有一个配置的特定驱动器上的符号链接,如果找不到,它将使用另一个。
我想我可以使用一个包装脚本来检查驱动器是否挂载,链接到所需的配置,然后运行应用程序,但包装脚本感觉很奇怪。
发布于 2016-09-26 15:26:24
标准的符号链接是没有办法的。它们总是指向一个单一的目标路径。
但是,在您的特定情况下,您可以使用驱动器如何对挂载进行阴影:如果您将配置文件指向/path/ to /挂载/config.cnf,那么在父文件系统上(在不存在挂载时使用)和安装的文件系统(在存在挂载时使用)有一个配置文件。
但我不建议这样做--首先,很难同时打开它们,例如,比较它们。我会亲自在上面写一个包装脚本,很多次都是这样。也可能有一些特定于程序的方法,但是你没有命名这个程序。
发布于 2016-09-27 00:38:59
为此您可以使用联合坐骑。如果在某个地方显示一个文件,则显示另一个文件,如果没有第一个选择,则显示另一个文件是联合挂载的全部要点。Symlink帮不了什么忙,除非是在与挂载不同的地方显示文件。
mkdir ~/overridden
unionfs-fuse "/media/external:$HOME/overridable" ~/overridden~/overridden显示了~/overridable和/media/external下目录树的合并。当两个文件都存在时,将显示来自/media/external的文件。
也请参阅Linux上的联合安装 (当有人回答它时,…)。
https://unix.stackexchange.com/questions/312450
复制相似问题