systemd собирает вывод от служб и записывает его в журнал (потому что это обычно то, что вы хотите, чтобы вывод от служб был постоянным).
Вы можете изменить поведение конкретной службы, установив опции StandardOutput
и StandardError
, как описано на странице systemd.exec(5), где сказано:
StandardOutput=
Управляет тем, куда подключается файловый дескриптор 1 (STDOUT) выполняемых процессов. Принимает одно из значений inherit, null, tty, journal, syslog, kmsg, journal+console, syslog+console, kmsg+console или socket.
[...]
journal+console
,syslog+console
иkmsg+console
работают так же, как и три вышеперечисленные опции, но копируют вывод на системную консоль.
Теоретически, что-то вроде этого должно сработать:
[Service]
Type=oneshot
ExecStart=/usr/bin/show-ip-on-boot.sh
StandardOutput=journal+console