----------------------------
изменил код , в котором реализовал опрос на выполнение или отказ от выполнения файла,с помощью enter;esc а также копирование полного пути выбранного файла в буфер обмена, не обошлось без легкого глюка, но он не влияет существенно на использование скрипта,глюк относится к выходу из peco вместо одного нажатия на комбинацию Ctrl+c необходима нажать на эту комбинацию 2 раза, побороть этот глюк не удалось. не смог поместить в шапку так как Сообщение превышает максимально допустимую длину (5000 знаков).
----------------------------
----------------------------
Скрипт--2
---------------------------
#!/bin/bash
function cleanup {
exit
}
# Устанавливаем обработчик сигнала SIGINT
trap cleanup SIGINT
while true; do
# Получаем текущую директорию из Midnight Commander
dir="$PWD"
# Используем ls для получения списка файлов в директории
files=$(ls -1 "$dir")
# Используем peco для выбора файла
selected=$(echo "$files" | peco --prompt 'Выберите файл > ')
# Если пользователь нажал Ctrl-C, завершаем программу
if [[ $? -ne 0 ]]; then
exit
fi
# Получаем полный путь к выбранному файлу
path=$(readlink -f "$dir/$selected")
# Копируем полный путь к выбранному файлу в буфер обмена
echo "$path" | xsel -ib
# Запрашиваем у пользователя выполнение выбранного файла
echo "Выполнить файл? (Enter/ESC)"
read -n 1 answer
# Если пользователь нажал Enter
if [[ "$answer" == "" ]]; then
# Открываем файл
echo -e "$path"
echo "Полный путь до файла скопирован в буфер обмена"
xdg-open "$path"
sleep 3
else
echo "Полный путь до файла скопирован в буфер обмена"
echo -e "$path"
fi
# Запрашиваем продолжение работы программы
echo "Хотите продолжить? (Enter/ESC)"
read -s -n1 answer
# Если пользователь нажал Enter (код ASCII: 13)
if [[ $(printf '%d' "$answer") == "13" ]]; then
# Пользователь хочет продолжить работу, продолжаем цикл
continue
# Если пользователь нажал Esc (код ASCII: 27)
elif [[ $(printf '%d' "$answer") == '27' ]]; then
# Пользователь хочет завершить работу, выходим из цикла
break
fi
done
инструкция использования похожа на первый скрипт, но добавился опрос выполнения или отказ, также оставил опрос на продолжение работы peco, и реализовал помещение полного пути на файл в буфер обмена.оставил оба варианта кода
, может второй вариант избыточен, но как мне показалось второй скрипт будет более функциональный , и полезней.