Я писал сценарий bash, чтобы проверить, есть ли первое слово в каждой строке
равно определенному значению, но не возвращает ожидаемые значения.
скрипт bash
#!/bin/bash
if [ $# != 3 ]; then
echo "Error no file specified, default files will be considered"
a="input.txt"
b="correct.txt"
c="incorrect.txt"
while read -r line; do
d=( $line )
e=${d[0]}
if [ $e != "add" ] || [ $e != "sub" ] || [ $e != "addi" ] || [ $e != "lw" ] || [ $e != "sw" ]
then
echo "error"
else
echo "correct"
fi
done < "$a"
fi
файл input.txt:
ok lol no
right back go
why no right
sub send bye
Фактический результат:
ошибка
ошибка
ошибка
ошибка
ожидаемый результат:
ошибка
ошибка
ошибка
правильный