Вы должны просто разделить его и выбрать нужные вам части:
( IFS=/ ; set -- $string
while ${1+:} false ; do
echo "$1" ; shift
done
)
Чтобы получить только начало/завершение:
start_end="$(IFS=/ ; set -- $string ; unset IFS
printf '/%s/.../%s' "$1" \
"`shift $(($#-1)) ; echo "$1"`"
)"
Mac OS X open
имеет -W
или - wait-apps
], которая может быть актуальной:
% open -h
...
-W, --wait-apps Blocks until the used applications are
closed (even if they were already running).
Однако не уверен, в какой версии ОС они ее добавили.