/ / Защо някои хора дават точка и запетая след условието, ако е в скриптове на черупки? - Баш, черупка

Защо някои хора дават точка и запетая след условието, ако е в скриптове на черупки? - Баш, черупка

Аз просто свикнах с писането на скриптове и се натъкнах на нещо, което не съм сигурна как да 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 за отговор № 1
if [ $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"

Що се отнася до [ срещу [[, виж: