У меня есть скрипт bash, который запрашивает у пользователя одноклавишный ввод для выбора из некоторых экранов меню. Я использую read -n 1 -s -r -p ''
, а затем делаю что-то на основе ввода пользователя, пропущенного через небольшой набор операторов if.
Мне нужно иметь возможность предотвратить случайное перетаскивание пользователем файла, выполняющего роль ввода к команде чтения. Я очень открыт для замены команды read
, чтобы затем позволить мне предотвратить прерывание процесса этим действием пользователя, но мне нужно, чтобы это было совместимо с большинством оболочек.
Прямо сейчас, как и следовало ожидать при перетаскивании файла вводится путь к файлу в терминале, и поэтому оболочка обрабатывает его так, как будто пользователь фактически нажал клавиши.
Я не хочу, чтобы пользователь мог использовать копирование / вставку или перетаскивание в файл как способ ответить на приглашение на чтение.
Возможно ли это? Я не против, если это сложно и, вероятно, не стоит того; В любом случае, я бы это реализовал: D
Я не знаком с официальными именами оболочек, но хочу, чтобы он был хотя бы совместим с Ma c OSX Terminal и Ubuntu.