LINUX.ORG.RU

Возвращение к интерпретатору после выполнения скрипта через crontab

 , ,


0

1

Здравствуйте! crontab:

1-59 * * * * orangepi /home/orangepi/message.sh > /dev/pts/4;

message.sh:

#!/bin/bash

echo -e "\033[37;1;41m WARNING \033[0m"

Скрипт выполняется, в консоли появляется сообщение WARNING. После этого нужно нажать enter, чтобы перейти на следующую строку к root@orangepi:/home/orangepi#. Подскажите пожалуйста,как можно исключить нажатие клавиши?


Строго говоря к интерпретатору возвращаться не надо, т.к. ты от него и не уходишь никуда. То же самое происходит, когда администратор рассылает сообщение через wall текст печатается на терминал минуя шелл, который не печатает приглашение заново, а продолжает ждать ввода как ни в чём не бывало. Как правило, сообщения на консоль так (в обход шелла) печатаются в экстренных ситуациях (переход на ИБП, shutdown, баги ядра/оборудования) и с такой косметической ерундой как печать приглашения заново никто не парится.

Можно по разному тут подойти к вопросу в зависимости от того, что тебе на самом деле надо - скрипт может слать email (тогда шелл напишет уведомление после выполнения очередной команды так что оператор не пропустит) или можно писать в лог или пайп, а в терминале открыть через tail -f log.log или cat log.pipe

legolegs ★★★★★
()

А зачем такой странный скрипт нужен?

mky ★★★★★
()

Подскажите пожалуйста,как можно исключить нажатие клавиши?

1) допустим у тебя выполняется сборка => интерпретатору (bash-у) ничего посылать не надо, ни приглашение (PS1) заново вводить

2) допустим тебе предлагается подтвердить действие (enter-ом), очевидно тоже самое

то есть хотелка подразумевает костыль, лучше уж через консольный статус-бар (тут какой-то местный пилил, но не помню название), или через панель tmux/screen/dvtm - должно прикручиваться; или если не к спеху — можно добавать в PS1 (будет видно не сразу а после завершения следующей команды)

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.