Помимо того факта, что команды на самом деле разные... Вы используете неправильный символ для канала.
Правильный символ — |
, а не ¦
.
Grep интерпретирует его как имя файла, поэтому команды не работают.
Если ваш tmux достаточно новый, вы можете сделать что-то вроде:
[ "$(tmux display -pt=main: '#{session_attached}' 2>/dev/null)" -gt 0 ] && exec tmux new -Asmain || exec zsh