考虑一个文件夹
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
命令有任何选项可以告诉符号链接是否存在?
使用
-T
选项
ln -sT bar foo
这意味着“始终将 LINK_NAME 视为普通文件”而不是目标目标目录。