I was trying to write a Bash script that uses an if statement.
if[$CHOICE -eq 1];
The script was giving me errors until I gave a space before and after [ and before ] as shown below:
if [ $CHOICE -eq 1 ];
My question here is, why is the space around the square brackets so important in Bash?
Once you grasp that
[is a command, a whole lot becomes clearer![is another way to spell “test“.However while they do exactly the same,
testturns out to have a more detailed help page. Check…for more information.
Furthermore note that I’m using, by intention,
help testand notman test. That’s becausetestand[are shell builtin commands nowadays. Their feature set might differ from/bin/testand/bin/[from coreutils which are the commands described in themanpages.