为什么同一个ln命令运行不同?

问题描述 投票:0回答:1

考虑一个文件夹

bar
是要创建符号链接的目标:

mkdir bar

现在创建一个到 bar 的符号链接

ln -s bar foo
# It will be now: foo -> bar

但是再次运行上面相同的

ln
命令,会出现不需要的符号链接:

ln -s bar foo
# Instead of showing error of existing link
# the command creates a faulty link 'bar/bar'

目前为了避免错误的链接,我必须先检查

if [[ ! -d foo ]]; then
    ln -s bar foo
fi

该检查是一个解决方案,但是,为什么

ln
命令会创建这样的错误链接?
ln
命令有任何选项可以告诉符号链接是否存在?

linux bash command symlink ln
1个回答
0
投票

使用

-T
选项

ln -sT bar foo

这意味着“始终将 LINK_NAME 视为普通文件”而不是目标目标目录。

© www.soinside.com 2019 - 2024. All rights reserved.