diff --git a/runram b/runram new file mode 100644 index 0000000..0dbb281 --- /dev/null +++ b/runram @@ -0,0 +1,32 @@ +#!/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 " + echo "Example: $0 1G dosbox" + exit 1 +fi \ No newline at end of file