#!/bin/bash #определяем, где находится файл recent.menu recentMenu=${ICEWM_PRIVCFG:-$HOME"/.icewm"}"/recent.menu" #формируем строку элемента меню item="prog \""$*\"" "$1" "${0##*/}" "$* #строка меню с экранированными кавычками для использования в grep gitem=`echo $item | sed 's/"/\\\"/g'` #формируем имя временного файла TMPFILE=`mktemp -q /tmp/icerrun.XXXXXX` if [ $? -ne 0 ]; then echo "$0: Can't create temp file, exiting..." exit 1 fi #создаем новое меню. Первая строка - запускаемая программа echo $item > $TMPFILE #из старого меню уберем строку с запускаемой программой grep -v "$gitem" $recentMenu >> $TMPFILE #записываем в меню только 10 элементов head $TMPFILE > $recentMenu #удаляем временный файл rm $TMPFILE #обновляем дату изменения файла menu, чтобы IceWM его перечитал menu=${ICEWM_PRIVCFG:-$HOME"/.icewm"}"/menu" touch $menu #Запускаем программу $*