Pharo启动脚本

标签: smalltalk ; shell ;


下面的脚本模仿 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" "$@"