Это не зависит ни от разных версий arping, ни от сложных скриптов bash:
ping $(arp-scan --localnet | grep 80:1f:02:fa:90:b7 | awk ' { printf $1 } ')
Я использовал сканирование arp -вместо arp, так как оно работает намного быстрее.
Это потому, что ESC [
также является началом последовательности символов, отправляемых несколькими функциональными клавишами на некоторых терминалах, таких как Home или End или PageUp ... Они также связаны с некоторым действием в less
.
Таким образом, когда less
получает ESC [
, он ожидает еще (без тайм-аута, как это делают некоторые другие приложения ).
На моем терминале ESC[6~
есть PageDown . Если я нажму Alt+[ , я увижу ESC [
, как и вы. Но затем я могу ввести 6
и ~
, и это прокрутит вниз.
Если вы запустите TERM=vt100 less
вместо less
, где на странице vt100
terminfo нет записей для Home или End ... вы увидите ESC [
работает.
Однако, если вы добавите \e[ left-scroll
к вашему~/.lesskey
(и запустите lesskey
, чтобы скомпилировать его в ~/.less
), вы заметите, что ESC [
работает для прокрутки влево, но все Главная , PageUP ... перестают работать, все они прокручиваются влево, а дополнительные символы, которые они отправляют, вызывают звуковой сигнал.
Судя по коду, все дело в порядке обработки таблицы команд. Таблица команд ~/.less
добавляется последней , но вставляется в начало , поэтому ее записи обрабатываются раньше встроенных.
При вводе ESC [
, если запись для \e[ left-scroll
найдена первой, она обрабатывается, если первой найдена запись для \kD forw-screen
(, которая на многих терминалах переводится как \e[6~ forw-screen
), то это только префикс соответствует , аless
ожидает ввода дополнительных данных .
Итак, это своего рода ошибка. Исправление будет заключаться в добавлении тайм-аута. Однако добавление короткого тайм-аута означало бы отказ от команд с несколькими клавишами -; длительный тайм-аут, чтобы дать пользователю достаточно времени для ввода команды с несколькими клавишами -, вероятно, сделал бы ESC [
слишком невосприимчивым.
Теперь терминалы с PageUp и т. д.также обычно имеют левую и правую клавиши, которые также привязаны к left-scroll
, right-scroll
, поэтому вы можете использовать их вместо прокрутки.