Точно так же, как нажатие a , а затем Shift не дает вам A
, нажатие Delete перед Alt и Ctrl не отправляет правильные коды клавиш.
Клавиши-модификаторы необходимо нажимать перед клавишей, которую они модифицируют. Клавишами-модификаторами в данном случае являются Alt и Ctrl , тогда как Delete не является клавишей-модификатором.
Если бы было разрешено нажимать a до Shift , чтобы получить A
, программное обеспечение, считывающее нажатия клавиш, не смогло бы вывести ни одного символа, пока не будет введен следующий символ. набрал.
Аппаратное обеспечение клавиатуры отправляет разные коды сканирования в зависимости от того, была ли нажата клавиша с активным модификатором или без него.
#!/bin/sh
user=$1
read -rp "Enter your message for ${user}: " message
write "$user" <<EOF 2>/dev/null
$message
EOF
if [[ $? -eq 0 ]]; then
printf '%s\n' 'Message sent!'
fi
использование:
$./script.sh jesse_b