Вы можете сделать это, сказав xterm распечатать данные, используяprint-everything
действие (, обычно не связанное с клавишей ).
В качестве альтернативы существует escape-последовательность, описанная в XTerm Control Sequences :
.
CSI ? Pm i
Media Copy (MC), DEC-specific.
Ps = 1 -> Print line containing cursor.
Ps = 4 -> Turn off autoprint mode.
Ps = 5 -> Turn on autoprint mode.
Ps = 1 0 -> Print composed display, ignores DECPEX.
Ps = 1 1 -> Print all pages.
, который можно вызвать как
printf '\033[?11i'
Но любой подход (для записи в файл )потребует настройки команды принтера .
Поскольку $(python3 -c "print('$1')")
является строкой, не является логическим значением, а [... ]
просто проверяет, не является ли строка -пустой.
Чтобы все работало так, как вы ожидаете, измените тест на
if [ "$(python3 -c "print('$1')")" = "True" ]
Кстати, вам следует избегать использования test
в качестве имени вашей функции (s ), так как это будет маскировать встроенную оболочку test
.