dotfiles
내 저장소에서 내 홈 폴더로 의 파일 링크를 생성하는 쉘 스크립트를 작성하려고 합니다 .
로 이동할 때 가능하면 하드 링크를 사용하고 싶습니다 HOME
.
하지만 다른 파일 시스템에 복제하려면 dotfiles
심볼릭 링크를 사용해야 합니다.
그렇다면 가능하다면 어떻게 파일에 대한 하드 링크를 만들 수 있습니까? 아니면 쉘 스크립트에서 심볼릭 링크를 사용할 수 있습니까?
답변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
(있는 경우) 를 보려면 리디렉션을 제거하세요 .