Аз просто свикнах с писането на скриптове и се натъкнах на нещо, което не съм сигурна как да google.
В уроците, които четях, тя подсказва, че правилният начин да напишете израз на if е така:
if [ $a == $b ]; then
echo "a == b"
fi
Видях обаче в нашите кодови базови места, където е пропуснато квадратчето:
if [ $a == $b ] then
echo "a == b"
fi
Аз също видях двойни квадратни скоби:
if [[ $a == $b ]]; then
echo "a == b"
fi
Когато съм изпробвал всички тези неща в бас, няма разлика. Има ли разлика? Дали това трябва да е свързано със съвместимостта? Какъв е правилният стил, който да приемете?
Отговори:
4 за отговор № 1if [ $a == $b ]; then
echo "a == b"
fi
Можете да използвате точка и запетая или можете да пишете then
на отделен ред. И двата са разрешени.
if [ $a == $b ]
then
echo "a == b"
fi
Нямайки нито един ;
нито нов ред е синтактична грешка.
$ if [ $a == $b ] then
> echo "a == b"
> fi
bash: syntax error near unexpected token `fi"
Що се отнася до [
срещу [[
, виж: