Как Gilles прокомментировал вчерашний ответ Dominik R, подход udev работает только для пользователя root и не работает хорошо как общее, непривилегированное решение. Я бы предложил рассмотреть inputplug(1) от Andrew Shadura, доступный в Debian в виде пакета inputplug, а также на сайте проекта: https://bitbucket.org/andrew_shadura/inputplug
inputplug(1) - это довольно простой слушатель цикла событий XINPUT, который будет вызывать сценарий с декодированными параметрами события в качестве аргументов. Поскольку вы используете .xinitrc, я полагаю, что вы используете скромный оконный менеджер / среду, и фоновый слушатель такого рода должен быть довольно простым для вас.
Другая возможность - использовать udev менее традиционным способом, написав скрипт, разбирающий вывод "udevadm monitor" и вызывающий setxkbmap при обнаружении соответствующего подключенного устройства.
Удачи!
Вам не нужен сценарий оболочки, достаточно одной команды.
$ man mv
$ mv file1 file2 file3 -t <destination/path>
Например, если ваши каталоги называются пустыми _1, пустыми _2, пустыми _3, просто выполните
mv empty* -t <destination/path>
Вы можете использоватьfind
:
find / -empty -type d -exec mv {} /path/to/my_empty_folders \;