Если Вы действительно не заботитесь о людях, соединенных через ssh или подобных, просто проверьте количество прерываний genereated клавиатурой. На моем ПК это находится в/proc/interrupts как i8042. Я думаю, что у Вас будет некоторый более сложный рабочий процесс, если у Вас будет клавиатура USB.
Чтобы проверить, соединен ли кто-либо все еще с менеджером окон, просто проверьте, работает ли/usr/bin/Xorg, не считая экрана входа в систему DM.
Вы не хотите использовать ls
, Вы хотите использовать оболочку globbing и обработку строк:
$ for f in *.rej; do
size=$(stat --printf "%s" "${f%.rej}.failed") &&
if [ $(stat --printf "%s" "$f") -eq "$size" ]; then
mv "${f%.rej}.failed" backup/;
fi; done 2>/dev/null
stat --printf "%s"
команда распечатает размер файл в байтах. ${f%.rej}.failed
распечатает что название тока .rej
файл всего лишь с .failed
вместо .rej
расширение. Если тот файл существует, то size=$()
выйдет правильно, и сценарий продолжится (&&
). Так, если $size
из .failed
файл совпадает с размером .rej
файл, затем .failed
файл будет перемещен в каталог backup/
.