Off topic, but important!
Notice <>/dev/tty1
I see something like setterm ... <>/dev/tty1
in this page more than 2 times.
have to point out that CMD <>/dev/tty1
is not same with CMD >/dev/tty1 </dev/tty1
The latter does the expected job in this situation.
// change setterm -blank
value, and verify by cat /sys/module/kernel/parameters/consoleblank
NOTE: <>FILE
not shorthand for >FILE <FILE
// at least I'm sure in bash.
Prove it
chen:/run/test$ cat ./test.sh
#!/bin/bash
ls -lh /proc/$$/fd/
chen:/run/test$ ./test.sh <>./out1
total 0
lrwx------ 1 chen chen 64 6月 9 13:37 0 -> /run/test/out1
lrwx------ 1 chen chen 64 6月 9 13:37 1 -> /dev/pts/2
lrwx------ 1 chen chen 64 6月 9 13:37 2 -> /dev/pts/2
lr-x------ 1 chen chen 64 6月 9 13:37 255 -> /run/test/test.sh
chen:/run/test$ ./test.sh >./out2 <./out2
chen:/run/test$ cat ./out2
total 0
lr-x------ 1 chen chen 64 6月 9 13:38 0 -> /run/test/out2
l-wx------ 1 chen chen 64 6月 9 13:38 1 -> /run/test/out2
lrwx------ 1 chen chen 64 6月 9 13:38 2 -> /dev/pts/2
lr-x------ 1 chen chen 64 6月 9 13:38 255 -> /run/test/test.sh
man bash
[n]<>word
causes the file whose name is the expansion of word
to be opened for both reading and writing on file descriptor n,
or on file descriptor 0 if n is not specified.
If the file does not exist, it is created.
export DISPLAY=:0.0