この前のやつ(すっごい早いvagrant ssh
)もおまけでついてきます。
使い方は
-
vagrant put /etc/profile
で VMのホームディレクトリにファイルをコピーする。 -
vagrant get /etc/profile
でVMのファイルをカレントディレクトリにコピーする
(vagrant ssh
などの vagrant
のサブコマンドの互換性は完全には保たれていないかもしれない。こまったら/usr/bin/vagrant
でなんとかなるのであまり十分にデバグしておりません)。
.bashrc
vagrant() {
require_vagrantfile() {
if [ ! -r Vagrantfile ]
then
$VAGRANT $@
return 1
fi
return 0
}
VAGRANT=`which vagrant`
CONFIG=".vagrant/vagrant_ssh_config"
ORIGINAL_DIR=`pwd`
pushd . > /dev/null
until [ -f Vagrantfile -o $PWD = '/' ]
do
cd ..
done
case "x$1" in
'xup' )
if require_vagrantfile $@ && $VAGRANT $@
then
$VAGRANT ssh-config > $CONFIG &
fi
;;
'xget' )
if require_vagrantfile $@
then
scp -F $CONFIG default:$2 $ORIGINAL_DIR/
fi
;;
'xput' )
if require_vagrantfile $@
then
if [[ $2 == /* ]]
then
SRC=$2
else
SRC=$ORIGINAL_DIR/$2
fi
scp -F $CONFIG $SRC default:
fi
;;
'xssh' )
if require_vagrantfile $@
then
if [ -f $CONFIG ]
then
ssh -F $CONFIG default
else
$VAGRANT ssh
fi
fi
;;
* )
popd > /dev/null
$VAGRANT $@
return
;;
esac
popd > /dev/null
}