result=$(./test.sh)| cmp -s $result test && echo 1||echo 0
cmp -s (./test.sh) test && echo 1||echo 0
как все-таки правильно сверить, должно быть 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
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.
...