------------------------------------------------------------------------ command block {..} [ganging a bunch of commands] ------------------------------------------------------------------------ Sometimes you want to simply gang up a bunch of commands. This is usually motivated to avoid typing a new line. e.g. $ a=2 $ [[ a -eq 1 ]] && {echo hello; echo kitty} This may look obvious but try the following to appreciate the value {} $ [[ a -eq 1 ]] && echo hello; echo kitty However, here is some Unix subtlety/arcana. Say, you want a shell script which quits if a=1 but not otherwise. Then $ cat tryit #!/bin/bash [[ a -eq 1 ]] && {echo "I quit because a=1"; exit -1} $ export a=1 $ ./tryit #will not compile You MUST have "{ " and ";}\n" as in $ cat tryit #!/bin/bash [[ a -eq 1 ]] && { echo "I quit because a=1"; exit -1;}