문제

저는 매우 활동적 명령 라인에 사용자와 나는 포탄 계정을 통해 모든 장소입니다.를 들어,리눅스 데스크톱 컴퓨터,리눅스 서버 Cygwin XP 에서,당신은 그것을 이름을 지정합니다.

어떻게 유지할 수 있습니다 내 쉘 구성(.bashrc, .vimrc 등.) 동기화를 통해 이러한 모든 컴퓨터를 사용하여 제한된 사용할 수 있는 도구를 통해 모든 플랫폼?

rsync 에서 매우 제한적으로 포함하는 수동으로 복사하는 일부를 통해 파일을 필요로 할 때 그들을,하지만 나는 원하는 표준 방법에 대한 설정을 동일한 기본적인 쉘 환경의 모든 내 기계입니다.말 쉘 계정 관리 전략입니다.

도움이 되었습니까?

해결책

나는 폴더에 Dropbox 글로벌당 OS,기 쉘 configs:

$ ls ~/Dropbox/shell/bash
bashbootstrap  bashrc
bashrc-Darwin  bashrc-Darwin-laptopname  bashrc-Darwin-mininame
bashrc-Linux  bashrc-Linux-machineone  bashrc-Linux-machinetwo

bashrc 로 모든 기계, bashrc-Linux, bashrc-Darwin 로드에는 해당 운영체제,그리고 여러 가지 구성하는 개별 기계입니다.(는 방법에 의해 다윈의 이름 OS X BSD 다음과 같습니다.)

무엇을 모두 함께 묶은 bashbootstrap 파일입니다.드는 각 해당 config 파일을 향상하기 위해 특이성,이것은 당 OS 및 기계를 재정의하여 더 높은 우선합니다.또한,우리가 자동으로 건너가 누락 config 파일당신이 필요하지 않을 만들 빈 config 파일에 대한 각각의 기계를 유지하는 스크립트는 행복합니다.

새로운 컴퓨터에 설치한 후,Dropbox 에 ~/Dropbox, 에,나는 멀리 움직이는 기본 .bashrc 그냥 심볼릭 링크 부트스트랩 파일에서 그 장소를 대신:

$ mv ~/.bashrc ~/.bashrc.bak
$ ln -s ~/Dropbox/shell/bash/bashbootstrap  ~/.bashrc

아,그리고 여기에는 내용의 bashbootstrap 파일:

if [ -z "$PS1" ]; then
   return
fi

dropboxshelldir=~/Dropbox/shell
dropboxdir=$dropboxshelldir/bash
masterbashrc=$dropboxdir/bashrc
osbashrc=$masterbashrc-`uname`
localbashrc=$osbashrc-`hostname | cut -d. -f1`

echo -n "Applicable shell configs: "
for bashfile in "$masterbashrc" "$osbashrc" "$localbashrc"; do
  if [ -r $bashfile ]; then
    . $bashfile
    echo -n "`basename $bashfile` "
  fi
done
echo

# Set convenience aliases
myed=${VISUAL:-${EDITOR:-vim}}
alias editbashrc="$myed $masterbashrc"
alias editosbashrc="$myed $osbashrc"
alias editlocalbashrc="$myed $localbashrc"

마지막으로,이 스크립트는 또한 제공합니다 세 개의 편의 별칭에 대한 편집 Bash config 파일을 기억하지 않고 그들이 어디에 저장됩니다.

  • editbashrc: 편집 글로벌 config 파일에 있습니다.
  • editosbashrc: 편집 OS 를 설정 파일입니다.
  • editlocalbashrc: 편집기 설정 파일입니다.

내가 테스트에서 이 Bash 지만,일할 수 있는 다른 Bash 다음과 같다.그러나,그들이 말한 대로,당신의 마일리지 달라질 수 있습니다.

나 블로그 게시물에 대한 이 .

다른 팁

나는 과거에 이것에 대한 버전 컨트롤을 사용했습니다 (SVN, 수은제, 등...). 자신의 서버를 설정하거나 호스팅 된 서버를 사용할 수 있습니다. 드롭 박스 또한 작동합니다.

소스 컨트롤에 액세스 할 수있는 경우 확인하겠습니다.이 방법으로 여러 컴퓨터를 통해 동기화되면 필요한 경우 비교/롤백을 할 수 있습니다. 직장에서 CVS/SVN이없는 경우 무료 옵션이 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top