LINUX.ORG.RU

Помогите поправить скрипт

 


0

1

Нужно написать скрипт, принимающий 2 параметра. Они являются именами файлов. Скрипт должен сравнивать содержимое 2 файлов.

#!/bin/bash

if [[ $# != 2 ]]; then echo «Err! Less two params» fi

diff «$file1» «$file2» > /dev/null

if [ $? == 0 ]; then echo «The same» else echo «Different» fi

все файлы сравнивает как разные( НЕ кидайтесь тапками, я новичок.

Начнём с того, что тебе нужен не diff, а cmp -s.

AnDoR ★★★★★ ()
Последнее исправление: AnDoR (всего исправлений: 1)

зачем вообще что-то писать diff -s file1 file2 и diff -q file1 file2

anonymous ()
[[ $# -eq 2 ]] && ( [[ $(diff "$1" "$2") ]] && echo "NE ODINAKOVIE" || echo "ODINAKOVIE" ) || echo "CHE-TO NE TAK"

anonymous ()
#!/bin/bash
file1=${1}
file2=${2:?Usage: $0 <file1> <file2>}

if cmp -s "$file1"  "$file2"; then
    echo "Файлы одинаковые"
else
    echo "Файлы различаются"
fi
legolegs ★★★★★ ()

У меня твой скрипт верно работает. Попробуй один и тот же файл передать в качестве $file1, $file2. Может, они у тебя действительно разные. Убери > /dev/null, посмотри что diff пишет.

kardapoltsev ★★★★ ()
Последнее исправление: kardapoltsev (всего исправлений: 1)
Ограничение на отправку комментариев: только для зарегистрированных пользователей