У меня есть Баш скрипт:ошибка "[: слишком много аргументов" от Баш скрипт
#!/bin/bash
pathToTestCasesFile=$1
while IFS=';' read -r col1 col2
do
if [[ $col1 == V[0-9]:* ]]; then
echo "decrypt"
if [[ "$(decrypt "$col1")" == "$col2" ]] ; then
echo "$col1 is equal to $col2"
else
echo "$col1 is not equal to $col2"
fi
else
echo "encrypt"
if [[ "$(encrypt $col1)" == "$col2" ]] ; then
echo "$col1 is equal to $col2"
else
echo "$col1 is not equal to $col2"
fi
fi
done < $pathToTestCasesFile
exit 0
Вот тестовый файл:
alex;V1:IVjd9qcAbUrR954gyPDbKw==
V1:IVjd9qcAbUrR954gyPDbKw==;alex
Результат выглядит следующим образом:
encrypt
alex is not equal to V1:IVjd9qcAbUrR954gyPDbKw==
decrypt
V1:IVjd9qcAbUrR954gyPDbKw== is not equal to alex
decrypt
Но выход должен сказать, что все равно.
Я уверен, что после того, как команды дешифруют, значение равно другому. Я тестировал его отдельно.
Может быть, есть проблема с сравнениях ..
Большое спасибо за помощь.
Команда говорит мне строку 23: $ pathToTestCasesFile: неоднозначная перенаправление. Может быть, $? –
Ok bro, вам нужно добавить двойные кавычки в переменной pathToTestCasesFile «$ pathToTestCasesFile:» –
отправить образец из содержимого файла './AutomaticRegressionTest' –