in reply to Re^2: Back-ticks and bash
in thread Back-ticks and bash

[ in bash is a synomym for test but it's not still a builtin. For backward compatibility, it behaves similarly to /usr/bin/[ , which means variables among its arguments are still expanded by the shell, which is not true for [[ . In other words, you have to write things like
if [ "$x" = abc ]

i.e. you need to quote the variables, while with `[[` you don't have to, as the shell processes the parameters before expansion:

if [[ $x = abc ]]

Also, `[[` introduces pattern matching [[ $x = ab* ]] and `=~` you might now from Perl.

($q=q:Sq=~/;[c](.)(.)/;chr(-||-|5+lengthSq)`"S|oS2"`map{chr |+ord }map{substrSq`S_+|`|}3E|-|`7**2-3:)=~y+S|`+$1,++print+eval$q,q,a,