我正在尝试编写一个 shell 脚本来创建从我的dotfiles
存储库到我的主文件夹的文件链接。
如果可能的话,我想使用硬链接,因为当将其移动到与HOME
.
但如果我将其克隆dotfiles
到另一个文件系统,我必须使用符号链接。
那么,如果可能的话,如何为文件创建硬链接,否则在 shell 脚本中使用符号链接?
答案1
ln source target 2>/dev/null || ln -s source target 2>/dev/null || exit 1
或者,稍微更“互动”(更健谈),
if ! ln source target 2>/dev/null; then
echo 'failed to create hard link, trying symbolic link instead' >&2
if ! ln -s source target 2>/dev/null; then
echo 'that failed too, bailing out' >&2
exit 1
fi
fi
删除重定向以/dev/null
查看显示的错误消息ln
(如果有)。