On Wednesday 27 June 2018 06:39 PM, K K Subbu wrote:
The double quotes are required here to skip splitting arguments with
embedded spaces into different words.
I suspect the error is earlier in the image=$@ assignment. This requires
double quotes. Double quotes are also required while calling zenity to
avoid word splitting.
My earlier fix is also in error, Sorry!
Essentially, we are mixing up single value variable (image) with
argument array ($@). I found a cleaner fix :
````
if [ $# -eq 0 ]; then
image_count=`ls "$RESOURCES"/*.image 2>/dev/null |wc -l`
if [ "$image_count" -eq 1 ]; then
set -- "$RESOURCES"/*.image
elif which zenity &>/dev/null; then
set -- "$(zenity --title 'Select an image' --file-selection --filename
"$RESOURCES/" --file-filter '*.image' --file-
filter '*')"
else
set -- "$RESOURCES/Pharo6.1-64.image"
fi
fi
# execute
exec "$LINUX/pharo" \
--plugins "$LINUX" \
--encoding utf8 \
-vm-display-X11 \
"$@"
````
HTH .. Subbu