#!/bin/bash

if [ $# = "2" ]; then

	RAMDISK_SIZE="$1"
	PROGRAM_PATH="$2"
	ORIG_PATH="${PWD}"
	RAMDISK_MOUNT="/mnt/ramdisk"
	
	if [ ! -d "$RAMDISK_MOUNT" ]; then
		sudo mkdir -p "$RAMDISK_MOUNT"
		sudo mount -t tmpfs -o size="$RAMDISK_SIZE" tmpfs "$RAMDISK_MOUNT"
	fi
	
	cp -r ./* "$RAMDISK_MOUNT"
	
	cd "$RAMDISK_MOUNT"
	"$PROGRAM_PATH"
	
	cd "$ORIG_PATH"
	rsync -av --delete "$RAMDISK_MOUNT/" "$ORIG_PATH"
	
	if mountpoint -q "$RAMDISK_MOUNT"; then
		sudo umount "$RAMDISK_MOUNT"
		sudo rmdir "$RAMDISK_MOUNT"
	fi
else
	echo "Not enough arguments"
	echo "Usage $0 <ramdisk_size> <program_path>"
	echo "Example: $0 1G dosbox"
	exit 1
fi