Это дает пользователю меню после воспроизведения файла:
TMPDIR=${TMPDIR:-/tmp}
for name in./*.mp3; do
test -f "$name" || continue
printf 'Playing "%s"...\n' "$name"
mplayer "$name"
select ch in "Move $name to $TMPDIR" "Remove $name"; do
case "$REPLY" in
1) mv "$name" "$TMPDIR" ;;
2) rm "$name" ;;
*) echo 'Invalid choice' >&2
continue ;;
esac
break
done
done
Этот скрипт не требует bash
, подойдет любой sh
шелл.
Приложения, которые вы можете запускать из среды рабочего стола, описываются.desktop
файлами , которые хранятся в /usr/share/applications
и ~/.local/share/applications
(, строго говоря, соответствующих каталогах XDG , но те являются настройками по умолчанию ). Имея имя приложения, как показывает среда вашего рабочего стола, вы можете найти его в этих файлах и найти соответствующую строку Exec
.
Для этого можно использовать редакторы меню с графическим интерфейсом, такие как Alacarte GNOME или MenuLibre , или выполнить поиск в командной строке.
Alacarte («Главное меню» в GNOME )показывает все доступные приложения, а свойства каждой записи показывают соответствующую команду:
В окне терминала это приложение «Пользователи» можно найти с помощью
grep -l Name.\*=Users {/usr,~/.local}/share/applications/*.desktop |
xargs -r grep Exec=
Это показывает
Exec=gnome-control-center user-accounts
и правда,
gnome-control-center user-accounts
в командной строке открывает соответствующую панель.
Для браузера БД вы должны запустить
grep -l "Name.*=DB Browser" {/usr,~/.local}/share/applications/*.desktop |
xargs -r grep Exec=
В некоторых случаях строка Exec
может иметь дополнительные аргументы, например .%f
; это заполнители для аргументов, таких как файлы.