其实就是,我所有代码都在~/Public里面,本机开nfs,虚拟机挂载nfs到/opt,酱紫我直接启动虚拟机就好,环境都部署在虚拟机中,因为,我OCD晚期…Orz…

写了个脚本自动启动虚拟机然后ssh过去,这个脚本,写的真心虐…

这里是代码:

#!/bin/bash

TMP=`mktemp`
TMP2=`mktemp`
TMP3=`mktemp`
TMP4=`mktemp`

VBoxManage list vms | awk -F \" '{print $2}' > $TMP

ORDER=1

while read LINE
do
    echo $ORDER. $LINE
    echo "export ORDER_${ORDER}=\"${LINE}\"" >> $TMP2
    ORDER=`expr $ORDER + 1`
done < $TMP

source $TMP2

rm $TMP
rm $TMP2

read CHOICE

echo CH=\$ORDER_$CHOICE > $TMP3

source $TMP3

rm $TMP3

echo "Choose $CH, start it right now !"

VBoxHeadless -startvm "$CH" >/dev/null 2>&1 &

b=''
for ((i=0;$i<=100;i+=2))
do
    printf "Starting vm: [%-50s]%d%%\r" $b $i
    sleep 0.07
    b=#$b
done
echo

OUT=`( time -p; ) 2>&1 | grep real | awk -F ' ' '{print $2}' | awk -F '.' '{print $1}'`
RCOUNT='=>'

while [ "$OUT" -lt "3" ];
do
    printf "Trying: %s\r" $RCOUNT
    RCOUNT='='$RCOUNT
    ( time -p ssh springhack@127.0.0.1 -p 10022; ) 2>$TMP4
    sleep 2.5
    OUT=`cat $TMP4 | grep real | awk -F ' ' '{print $2}' | awk -F '.' '{print $1}'`
done

rm $TMP4

VBoxManage controlvm "$CH" poweroff

pkill VBox*

echo Finished !