【问题标题】:Is it possible to create relative symlinks from a script?是否可以从脚本创建相对符号链接?
【发布时间】:2011-12-22 11:55:28
【问题描述】:

这个问题紧跟这个问题:Symlinks not working when link is made in another directory?

假设我有一个包含项目的目录,以及一个创建从项目目录的一部分到另一部分的符号链接的脚本。即使脚本的位置完全在其他地方,这些符号链接是否可能是相对的(不是绝对的)?

我有兴趣这样做,以便可以在不破坏其中的绝对链接的情况下移动项目目录。

【问题讨论】:

  • @MДΓΓБДLL:OP 不是在问如何创建相对链接,而是在问如何在另一个目录中创建相对链接。有区别。
  • @user112358132134 和不同的是......?
  • 你是对的。我没想到。

标签: linux scripting symlink


【解决方案1】:

从脚本运行命令并没有什么特别之处。你就去做吧。

$ mkdir originals
$ echo "weird" > originals/original.txt
$ mkdir copies
$ ln -s ../originals/original.txt copies/copy.txt
$ cat copies/copy.txt
weird

请注意,您不必在创建相对链接之前更改工作目录。符号链接将相对于链接,而不是相对于当前目录。

【讨论】:

    【解决方案2】:

    编辑:

    @MДΓΓБДLL 正确地指出您想要做的是内置于ln 的功能中。 ln 的第一个参数将是创建链接时使用的目标值,无论它是在哪里创建的。例如:

    $ cd /
    $ ln -s .. ~/testln
    $ cd ~
    $ ls -la testln
    lrwxrwxrwx 1 xxxxx xxxxx 2 Dec 22 09:29 testln -> ..
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-18
      • 2013-07-11
      • 1970-01-01
      • 2012-11-14
      相关资源
      最近更新 更多