Bash commad “if” construction
The primaries are put between square brackets to indicate the test of a conditional expression
[ -a FILE ] True if FILE exists.… Read the rest
[ -b FILE ] True if FILE exists and is a block-special file.
[ -c FILE ] True if FILE exists and is a character-special file.