Следующий код должен сравнивать две строки или переменные. Но я не могу этого сделать. Здесь вывод не зависит от смены входов. Кто-нибудь может исправить этот код?
#!/bin/sh
echo "Enter your username1:"
read username1
echo "Enter your username2:"
read useraname2
if [ "$username1"=="$username2" ]
then
echo 'Same'
else
echo 'Different'
fi
Быстрое исправление: добавьте пробелы вокруг ==
Команда [
выполняет разные действия в зависимости от того, сколько аргументов она получает. См. http://www.gnu.org/software/bash/manual/bashref.html#index-test
Если задан 1 аргумент, команда теста оценивается как true, если аргумент непустая строка В вашем случае это гарантированно будет.