Terminal: grep command usage with '[' character as target, not function
Brackets should be escaped with \, because it's a special character. Your command will look like:

tail -1 system.log | grep " su\["


Special characters

From this site You can learn about special characters in bash.


  What makes a character special? If it has a meaning beyond its literal meaning, a meta-meaning, then we refer to it as a special character. Along with commands and keywords, special characters are building blocks of Bash scripts.


\ is a special character and it could be used as:


  [ ]
  test.
  
  Test expression between [ ].  Note that [ is part of the shell builtin test (and a synonym for it), not a link to the external command /usr/bin/test.
  
  [[ ]]
  test.
  
  Test expression between [[ ]]. More flexible than the single-bracket [ ] test, this is a shell keyword.
  
  [ ]
  array element.
  
  In the context of an array, brackets set off the numbering of each element of that array.
  Array[1]=slot_1
  
  echo ${Array[1]}
  
  [ ]
  range of characters.
  
  As part of a regular expression, brackets delineate a range of characters to match.
  
  $[ ... ]
  integer expansion.
  
  Evaluate integer expression between $[ ].