下面的脚本模仿 Debian 源里面的某个版本的 Squeak 的行为,将内存映像保存在 $HOME/.pharo
目录下,当目录中存在多个内存映像时,弹出菜单让用户选择需要启动的映像。菜单依赖zenity
包, 需另行安装。
#!/bin/bash
DIR=$(dirname $(readlink -f $0))
POOL=$HOME/.pharo
if [ ! -d "$POOL" ]; then
mkdir -p "$POOL"
cp "$DIR"/Pharo.image "$POOL"
cp "$DIR"/Pharo.changes "$POOL"
cp "$DIR"/Pharo*.sources "$POOL"
fi
images=(`ls $POOL/*.image`)
count=${#images[@]}
if [ $count -eq 1 ]; then
IMAGE=${images[0]}
else
IMAGE=$(
zenity --list --title="Select image" \
--column "Path" "${images[@]}"
)
fi
"$DIR/pharo-vm/pharo" "$IMAGE" "$@"