#!/bin/sh
filename=`zenity --filename=/home/ --file-selection --title="Выбор файла для редактирования"`
case $? in
0) nano "$filename" ;;
*) zenity --info --text="Не выбрано имя файла" ;;
esac
(Вместо nano можно sh поставить - но осторожно)
Воу! А вот это весьма и весьма годно!
Только с тонкостями. Вот вариант для поставленной задачи работающий только с терминалом xfce4:
#!/bin/sh
filename=`zenity --filename=/my/scripts/ --file-selection --title="Запускай!"`
case $? in
0) xfce4-terminal -e "$filename" ;;
*) zenity --info --text="До скорых встречь!" ;;
esac
И вот почему такая некроссплатформенность: если запускать через sh то случается презабавнейший баг. Дело в том что половина моих скриптов - луперы (выполняют действие и останавливаются в ожидании нажатия на Enter, если нажал - выполняется ещё один раз) так вот при выполнении через sh случается многократное выполнение скрипта-лупера, буд-то на Enter нажали раз 30. Что ещё интереснее - такое же поведение наблюдается при запуске моих луперов через dmenu (мне на другом форуме поведали как ему мой каталог скриптов скормить).
Так же важно отметить необходимость "/" в конце " --filename=/my/scripts/" так как если её не поставить будет открыватсья родительский каталог а scripts будет выбран.
Всем спасибо! Удобная менюшка для запуска скриптов найдена! Тадам!
PS: хотя если найдёте удобнее и быстрее буду не против
Пользователь добавил сообщение 10 Января 2020, 09:20:17:
Вот интересно на его скрипты посмотреть... если он сюда обращается с такой задачей, то они видимо не самописные.
К сожалению на 99% самописные. В основном всякая мелочёвка облегчающая жизнь при массовой установке пакетов (луперы для установки / удаления / копирования кэша апта / очисти кэша апта и т.д.) кой чего для ковыряния в проблемах с зависимостями, конверетеры частоиспользуемых единиц скорости передачи, упрощалки сложнозапоминаемых команд, управлялки iptables'ами, расширялки/сжималки лвм-томов, автомонтировалки расшар и многое многое другое полезное для меня и в основном бесполезное для остальных.