Как сделать так, чтобы экран двигался вниз по строке И начинался с начала при получении только CR от последовательного устройства?

Ответ «stat» самый лаконичный, но он дает ложные срабатывания, когда две файловые системы находятся на одном устройстве. Вот лучший метод оболочки Linux, который я нашел до сих пор (этот пример для Bash ).

if [ "$(df file1 --output=target | tail -n 1)" == \
     "$(df file2 --output=target | tail -n 1)" ]
    then echo "same"
fi

(требуется coreutils 8.21 или новее)

4
13.08.2019, 15:32
1 ответ

Что-то, что, похоже, сработало для меня, заключалось в том, чтобы манипулировать псевдо -tty, который есть на экране, отправив ему найденную вами управляющую последовательность режима новой строки, а также дав ему команду stty для преобразования возврата каретки в новую строку. Используйте ps a, чтобы найти pty :

.
16947 pts/4    Ss+    0:00 screen -S myscreen /dev/ttyS0

, а затем давать команды

pty=/dev/pts/4
stty -F $pty  ocrnl
echo -en '\e[20h' >$pty
1
27.01.2020, 21:01

Теги

Похожие вопросы