Как сравнить несколько аргументов?

На вход передаются 3 аргумента: Ivanov Ivan 777. Хочу проверить - совпадают ли он с тем что внутри кода. Накатал скрипт. Сравнение некорректно отрабатывает

#!/bin/bash

checkData() {

if [["$1"=="Ivanov" && "$2"=="Ivan" && $3=="777" ]]; then
    return 0 
  else
    return 1
  fi
  
}

if checkData $1 $2 $3 then
 echo 'ok'
    else
 echo 'error'
 fi

Ответы (1 шт):

Автор решения: Senior Pomidor

надо добавить пробелы до и после скобок и равенством. также не хватает ; после условии IF


#!/bin/bash

checkData() {

if [[ "$1"=="Ivanov" && "$2"=="Ivan" && $3=="777" ]]; then
    return 0 
  else
    return 1
fi
  
}

if checkData $1 $2 $3; then
 echo 'ok'
    else
 echo 'error'
 fi

➜ ./s.sh Ivanov Ivan 77
error
➜ ./s.sh Ivanov Ivan 777
ok
→ Ссылка