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;
}

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.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.