Simple quotes (
'...') or double quotes (
"...") have specific meanings.
Double quotes gather a set of words (separated by white spaces) in a whole, but the shell keeps interpreting special characters (
Simple quotes gather a set of words with shell interpretation.
#!/bin/bash i=toto echo $i j echo "$i j" echo '$i j'
"Inverse" quotes (
`...`) executes a command in a child process. They are the equivalent of
i=toto.com j=`basename $i .com` k=$(basename $i .com) echo with suffix: $i echo without suffix: $j echo without suffix: $k