\$line
, что предотвратило раскрытие переменной. Попробуйте:
while read -r line; do
if ! [ "$line" = "Processing !" ]; then
echo processing line "$line";
fi
done
Или, если ваш ввод обеспечивается примером скрипта, просто сравните $line
с\!
:
while read -r line; do
if ! [ "$line" = \! ]; then
echo processing line "$line";
fi
done
или, возможно, точнее:
while read -r line; do
if [ "$line" != \! ]; then
echo processing line "$line";
fi
done