meteor/meteor — pull request #2110 by felixrabe (2014-05-04 20:40:58+00:00)
Title: Fix occurrences of "cd `dirname $0`"

They are not safe for spaces in paths. There might be other places to look for trouble.

I've run the following command to produce this commit: (on OS X, copy-and-pasting the below exactly)

find . -type f -name '*.sh' -print0 | # Find all .sh files
xargs -0 fgrep -H -- '`' | # See all places with backticks in them
fgrep 'cd `dirname $0' | # I deemed these problematic (variable assignments are safe)
cut -d ':' -f 1 | # Take the from : produced by "grep -H"
tr '\n' '\0' | # Also here, spaces can be problematic - always do "xargs -0"!
xargs -0 -- sed -i '' 's/cd `dirname $0`/cd "`dirname "$0"`"/g'

The significance of adding the two levels of "'s can be verified by running the following in your Terminal:

$ node -e 'console.log(process.argv.splice(1))' -- `echo 1 2`
[ '1', '2' ]

$ node -e 'console.log(process.argv.splice(1))' -- "`echo 1 2`"
[ '1 2' ]

$ node -e 'console.log(process.argv.splice(1))' -- "`echo "1 2"`"
[ '1 2' ]

I have not run or updated any tests, neither before nor after creating this commit.