結果のスクリーンショット:
ホームシステム:
リモートマシンの1つ:
プロファイル同期のコマンド:
$ profsync
カットの下の詳細。
私が最初にしたことは、プロファイルを一般とローカルに分割し(スクリーンショットを参照)、一般的なプロファイルではソースはローカルでした:
$ cat .bashrc
# Check for an interactive session
[ -z "$PS1" ] && return
source ~/.bashrc_local
alias ls='ls --color=auto'
PS1='[\u@\[\e[0;'$PS1_hostcolor'm\]\h\[\e[0m\] \w]\$ '
complete -cf sudo
source ~/.bash_functions
そして、ローカルで必要な変数を書き留めました:
$ cat .bashrc_local
PS1_hostcolor=32
export SCREEN_hostcolor=g
これらの簡単な操作の後、PS1は緑色に変わり、ホストシステムを示しました。
そして、これらの後:
$ cat .screenrc
eval "hardstatus string '%{= .w}%-w%{= .$SCREEN_hostcolor}%50>%n %t%{= .w}%+w%<'"
hardstatus alwayslastline
緑と画面になりました。 残っているのは、他のすべてのマシンにコピーして変更することだけです。 私はcommandlinefuを読むのが好きで、私の.bash_functionsは時々更新されるので、私のためにscpを蹴るフィドラーがいました:)
$ cat `which profsync`
#!/bin/bash
source ~/.config/profsyncrc
cd $basepath
for host in ${hosts_scp[@]} ; do
echo "Syncronizing ${host}..."
for target in ${targets[@]} ; do
scp -r $target $host:$target
done;
done;
スクリプトは簡単な設定で制御されます:
$ cat ~/.config/profsyncrc
hosts_scp=(campus amignode) #
basepath="$HOME" # ( , )
targets=('.bashrc' '.bash_functions' '.screenrc' '.nanorc') #
scpはディレクトリも理解するため、少なくとも.configを同期できます:)
一度調整すれば、この束が何度も重宝します。あなたにとっても重宝することを願っています。
良い一日を!