最近做开发时,经常在不同的Linux机器上跳来跳去。因为好多机器不常使用,所以基本的Linux环境都没有人去配置,有的甚至都没有安装VIM!操作实在是让人泪奔。每次砍柴前都要磨刀:设置.vimrc,设置.bashrc。好烦啊。实在也没想到好的办法,就有了这个笨方法:首先,把Linux环境打包;然后,scp到远程Liunx机器上;最后在解压安放到合适的目录。具体的shell脚本如下。
#!/bin/sh
if [ $# -lt 1 ]; then
echo "Usage: $0 <remote-host-name> <user-name>"
exit
fi
################### functions #####################
function run_cmd(){
echo $1
#$1
$1
return $?
}
function package_env(){
echo "package env..."
if [ -f $ZIP ]; then
cmd="rm -rf $ZIP"
run_cmd "$cmd"
fi
if [ -f $VIMRC ]; then
cmd="zip -j $ZIP $VIMRC"
run_cmd "$cmd"
fi
if [ -f $SHRC ]; then
cmd="zip -u -j $ZIP $SHRC"
run_cmd "$cmd"
fi
echo "package env SUCCEED"
}
################### functions #####################
REMOTE_MACHINE=$1
NAME=$2
if [ -z $NAME ]; then
NAME=`whoami`
fi
VIMRC=$HOME/.vimrc
SHRC=$HOME/.bash_profile
ZIP="${NAME}.zip"
package_env
cmd="scp $ZIP ${NAME}@${REMOTE_MACHINE}:."
run_cmd "$cmd"
# be careful for this command
cmd="source /etc/profile; unzip -o $ZIP; rm -rf $ZIP"
HOST="${NAME}@${REMOTE_MACHINE}"
echo "ssh $HOST $cmd"
ssh $HOST $cmd
Note:我个人在linux下的基本配置就是.vimrc和.bashrc,如果你有特别的需求的话,在shell脚本中添加就好了。方法比较笨,哪位有简单的好主意,欢迎指导。