Моя проблема, я хочу сценарий, который читает содержание из канала, проверки, если это пусто и произвело его в противном случае, как замечено здесь:
#!/bin/bash
var=$(cat -)
if [ -n "$var" ]
then
echo "$var"
else
echo "Pipe was empty"
fi
Проблема, чтения кошки от stdin, если канал пуст. Там какой-либо путь состоит в том, чтобы препятствовать тому, чтобы кошка делала это? Или действительно ли кошка является неправильным инструментом для использования здесь?
Использовать read -t 0 -N 0
обнаружить, если данные доступны на stdin. Использовать test -t 0
или tty
пытаться обнаружить, если канал подключен к stdin.