Shell-Script

如果可能,創建硬連結,否則使用符號連結

  • March 23, 2018

我正在嘗試編寫一個 shell 腳本來創建從我的dotfiles倉庫到我的主文件夾的文件連結。

如果可能,我想使用硬連結,因為在將它移動到與HOME.

但是如果我複製dotfiles到另一個文件系統,我必須使用符號連結。


那麼,如果可能的話,如何為文件創建硬連結,否則在 shell 腳本中使用符號連結?

ln source target 2>/dev/null || ln -s source target 2>/dev/null || exit 1

或者,稍微更“互動”(chattier),

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

引用自:https://unix.stackexchange.com/questions/433111