Почему мое сравнение бэш-строк двух одинаковых строк всегда ложно?

Я пытаюсь написать простой маленький скрипт, чтобы запросить 3g соединение, и если соединение обрывается, инициирую переподключение.

Моя проблема в проверке вывода команды - две на первый взгляд равные строки не оцениваются как равные. Я уверен, что где-то здесь есть ошибка Noob!

#!/bin/bash

echo "Checking connection"
a="Not connected."
b=$(./sakis3g status --console)

if [[ "$a"!="$b" ]]; then 
    echo "Strings not equal:"
    echo "$a"
    echo "$b"
else 
    echo "Strings equal!!"
fi

Вывод при выполнении:

user@mypc:~$ ./test_3g.sh 
Checking connection
Strings not equal:
Not connected.
Not connected.

При выполнении ./test_3g.sh | cat -A:

user@mypc:~$ ./test_3g.sh | cat -A
Checking connection$
Strings not equal:$
Not connected.$
Not connected.$
9
задан John Lyon 12 February 2013 в 05:47
поделиться