как все-таки правильно сверить, должно быть 100 процентное совпадение с эталонным файлом в результате команды должна быть 1.
./test.sh | if cmp -s - test ; then echo 1 ; else echo 0 ; fi
result=$(./test.sh)| cmp -s $result test
это почти попытка сравнить текст выводимый
test.sh
с содержимым файла test, но здесь не нужен конвейер и
cmp
так не работает.
cmp -s (./test.sh) test
Это почти рабочий вариант для bash, полностью рабочий выглядит так:
cmp -s <( ./test.sh ) test
. Но из-за того, что конструкция
<(…)
специфична для bash этот вариант на мой взгляд менее предпочтителен чем вариант
./test.sh | if cmp -s - test
.