Kiedy zawijać cudzysłowy wokół zmiennej powłoki?

Czy ktoś mógłby mi powiedzieć, czy powinienem zawijać cytaty wokół zmiennych w skrypcie powłoki?

Na przykład:

xdg-open $URL 
[ $? -eq 2 ]

lub

xdg-open "$URL"
[ "$?" -eq "2" ]

A jeśli tak, to dlaczego?