result=$(./test.sh)| cmp -s $result test && echo 1||echo 0cmp -s (./test.sh) test && echo 1||echo 0как все-таки правильно сверить, должно быть 100 процентное совпадение с эталонным файлом в результате команды должна быть 1.
./test.sh | if cmp -s - test ; then echo 1 ; else echo 0 ; firesult=$(./test.sh)| cmp -s $result test
test.sh с содержимым файла test, но здесь не нужен конвейер и cmp так не работает.cmp -s (./test.sh) test
cmp -s <( ./test.sh ) test. Но из-за того, что конструкция <(…) специфична для bash этот вариант на мой взгляд менее предпочтителен чем вариант ./test.sh | if cmp -s - test. $ echo 111 > 1
$ echo 111 > 2
$ diff 1 2 -q; echo $?
0
$ echo 111 > 1
$ echo 222 > 2
$ diff 1 2 -q; echo $?
Files 1 and 2 differ
1
$ man diff
...
EXIT STATUS
The diff utility exits with one of the following values:
0 No differences were found.
1 Differences were found.
>1 An error occurred.
...