动态符号链接

dog*_*ane 10 symlink

我已经为不同的架构构建了我的应用程序,并希望创建一个“动态符号链接”,它根据变量将我带到正确的版本。

如果我当前登录的机器是 x86,那么符号链接应该将我带到那个版本。

我想做的一个嘲笑的例子

$ uname -i
x86_64

$ ls -ltr 
lrwxr-xr-x  1 dogbane gg     4 Feb 16 15:40 mylink -> @sys/
drwxrwxr-x  2 dogbane gg  2048 Feb 16 15:40 x86_64/
drwxrwxr-x  2 dogbane gg  2048 Feb 16 15:40 i386/

$ cd mylink

$ pwd -P
~/x86_64
Run Code Online (Sandbox Code Playgroud)

这可能吗?

我知道我可以使用cd $(uname -i),但想要更简单的东西。

Jör*_*tag 5

DragonFly BSD支持此功能,称为变体符号链接。查看man varsymman ln了解详情。


gel*_*aen 0

符号链接本质上是一个带有特殊标志的文件,其中包含一些路径,并且该路径按原样解释,因此您不能以这种方式使一个符号链接指向其他位置。但您仍然可以编写运行适当构建的脚本。