#!/bin/bash X=1 while [ ${X} -le 2 ] do if [ -f "test.sh $(echo hello)" ]; then a=$( tail test.sh ) fi # error in bash mode echo ${X} X=`expr ${X} + 1` ls $( echo ${A} ) # right bracket highlight is # wrong colour ie different from left done # error in bash mode echo \$ 'hel$(X+2)lo' asdasd > &2>&1 >> $FILE echo "he\"l$($X+2)lo" a $(ls -a ~) sddddd echo asdasd aksjd $(x)aksjdkasj $X > /dev/null echo $( echo " hello asd " ) # error in bash mode echo $(echo ")" ); echo "hi there baby ! " : #error 3 : bash mode only. # both "]" and "fi" are highlighted red. # the problem seems to be command substitution '$()' within test '[]' if [ $(expr $a + 2 ) = 1 ] # error in bash mode then echo "true" fi # error in bash mode declare ${X}_installed="true" # error in bash mode echo echo \$\{${X}_installed\} echo $( expr `$X + 2` ) # error in bash mode echo $ echo $( echo $a )