Brief summary:
Single quotes:
What you can say is what you see is what you get: the contents of a single quotation mark are output as is, or what you see in single quotes is what you output.
Double quotes:
Output the contents of double quotation marks, if there are commands in the content, variables, etc., will first parse the variables, commands, and then output the final content.
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 be the variables, command parsing results, and then in the output of the final content, if the string with a space and other special characters, it is not complete output, need to add double quotation marks, general continuous string, Numbers, paths, etc. can be used, but it is best to use double quotes instead of
Simple difference between single quotes, double quotes, and unquoted in a Linux shell