Symlink dotfiles do Documents / Dotfiles

1

Mam skrypt instalacyjny, który tworzy linki między moim repozytorium plików i plikami w katalogu głównym mojego katalogu domowego. Ogólnie rzecz biorąc, proces wygląda tak dla każdego pliku:

ln -s ~/Documents/Dotfiles/.bash_profile ~/.bash_profile

Czy jest to powiązane we właściwym kierunku? Np. Chcę mieć możliwość dostosowania moich ustawień Documents i po prostu wskaż im. Większość dokumentacji, którą przeczytałem, wydaje się zakładać tradycyjne środowisko Unix lub Linux, więc nie jestem pewien, czy jest to poprawne.

Odpowiednia część mojego skryptu instalacyjnego znajduje się poniżej

#!/bin/bash

set -e

function makeLinks() {
  ln -s ~/Documents/Dotfiles/.bash_aliases ~/.bash_aliases
  ln -s ~/Documents/Dotfiles/.bash_profile ~/.bash_profile
  ln -s ~/Documents/Dotfiles/.bash_prompt ~/.bash_prompt
  ln -s ~/Documents/Dotfiles/.gitconfig ~/.gitconfig
  ln -s ~/Documents/Dotfiles/.gitignore_global ~/.gitignore_global

  read -rp "This may overwrite existing files. Are you sure? (y/n) " -n 1;
  echo "";
  if [[ $REPLY =~ ^[Yy]$ ]]; then
    makeLinks
  fi;
}
Chris
źródło

Odpowiedzi:

1

man ln wyraźnie mówi:

ln [-Ffhinsv] source_file [target_file]

Więc tak, twoje polecenie wydaje się rozsądne.

Skrypt jest jednak dziwny. makeLinks nigdy nie jest wywoływany, a monit z prośbą o potwierdzenie spowodowałby tylko rekursję. Prawdopodobnie chciałeś umieścić go poza definicją funkcji.

idmean
źródło
Westchnij, powinienem to zobaczyć. Zaktualizowałem go i teraz pojawia się pytanie, czy faktycznie utworzyć linki, co właśnie starałem się zrobić (słabo) :)
Chris