Single quotes:
What you see is what you get: The contents of the single quotation mark are output as-is, or what you see in single quotes is what you output.
Double quotes:
Output the contents of the double quotation marks: If there are commands, variables, etc. in the content, the variables, commands are parsed out and then the final content is output.
The command or variable is written as ' command or variable ' or $ (command or variable) in double quotation marks.
No quotation marks:
Output of the content, may not be a string containing a space as a whole output, if the contents of the command, variables, etc., will first parse the variables, commands, and then output the final content, if the string with a space and other special characters, you can not complete output, need to add double quotation marks, general continuous string, number, Paths can be used, but it is best to use double quotes instead.
The difference between single quotes, double quotes, and no quotation marks in a Linux shell