Восстановить данные после случайного mkfs.ext4 и других сбоев?

Это работает:

if diff "./helloworld$x.out" "./output/helloworld$x.out" >/dev/null; then echo "Passed $x"; else echo "Failed $x"; fi

Если вы используете переменную вместо echo, вы можете удалить ветвь else: установите переменную в false до if и сохраните 2 строки Код.

Если вы хотите на самом деле поместить результат в переменную, используйте:

some_var="$(diff "./helloworld$x.out" "./output/helloworld$x.out")"

Включая мой тест, чтобы увидеть, действительно ли он работает:

rinzwind@discworld:~$ touch 1 rinzwind@discworld:~$ touch 2 rinzwind@discworld:~$ more test if diff 1 2 >/dev/null; then echo "Passed $x"; else echo "Failed $x"; fi rinzwind@discworld:~$ ./test Passed rinzwind@discworld:~$ vi 2 rinzwind@discworld:~$ more 2 2 rinzwind@discworld:~$ ./test Failed

На части >/dev/null: >/dev/null 2>&1 отправит вывод на >/dev/null, а 2>&1 отправит стандартные ошибки в один и тот же файл (&1 означает «использовать первый параметр») перед этой командой (так он также использует /dev/null).

sidenote: sdiff будет показывать бок о бок diff:

sdiff 1 2 1 1 2 2 3 3 4 4 5 5 7 7 > 8 9 9 10 10
0
задан 2 October 2017 в 20:11

0 ответов

Другие вопросы по тегам:

Похожие вопросы: