Я проверяю совпадения файла через S SH с системой Ubunty хоста, и оператор if неправильно обрабатывает результат.
export FILENAME=test.txt
export NUM=$(ssh -t ubuntu@192.168.XXX.XXX "ls ~/Documents/ | grep '$FILENAME' | wc -l")
echo "Received value: $NUM"
if [ $NUM == 0 ]; then
echo "If processed as: 0"
else
echo "If processed as: 1"
fi
Так что, если существует $FILENAME
, я получить следующий вывод
Connection to 192.168.XXX.XXX closed.
Received value: 1
If processed as: 1
И если нет, я получу следующий
Connection to 192.168.XXX.XXX closed.
Received value: 0
If processed as: 1
Почему это может происходить? Я получаю неправильное форматированное значение? Если я произвожу перед оператором if NUM=0
или NUM=1
, он будет правильно обработан.