Backtick versus $()
    Warren Block 
    wblock at wonkity.com
       
    Mon Feb 21 02:37:38 UTC 2011
    
    
  
Dropped the last line of the script.  Also lined up the seds to show the 
regex is the same in both.
#!/bin/sh
DESTDIR="./"
COMPFILE=".cshrc"
PSTR=`echo "${DESTDIR}${COMPFILE}" |  sed 's%\([?:.%\\]\)%\\\1%g'`
echo ${PSTR}
PSTR=$(echo "${DESTDIR}${COMPFILE}" | sed 's%\([?:.%\\]\)%\\\1%g')
echo ${PSTR}
Also, the difference is in escapes; two more backslashes added to the 
backtick version make it work:
PSTR=`echo "${DESTDIR}${COMPFILE}" |  sed 's#\([?:.%\\]\)#\\\\\1#g'`
echo ${PSTR}
Still: aren't backticks and $() supposed to be equivalent?
    
    
More information about the freebsd-questions
mailing list