Eliminating quotation confusion

The following are some quick guidelines for the use of quotation characters when writing shell scripts.

I have recently heard more than one Unix user express confusion over the use of various quotation characters in interactive shell usage or when writing shell scripts. The following are some quick guidelines for their use.

The quotation marks ",', and are used to delineate strings or to interpret or escape meta-characters in the desired fashion. The backquote ` is used for interpreting a command. Although there are subtle variations within specific shells, these rules generally apply:

The backslash is used to escape or quote a single character. If it precedes a meta-character, the meta-character is interpreted literally. Single quotation marks are considered 'strong', in that all characters between them are interpreted literally. This can be useful when trying to remove files having names with spaces or meta-characters. Double quotation marks are considered 'weak', in that meta-characters retain their meaning. Finally, the backquote ` is used to interpret commands.


icenine% echo $HOME
/home/mydir
icenine% echo $HOME
$HOME

icenine% ls *Windows*
a Windows filename
icenine% rm 'a Windows filename'
icenine% ls *Windows*
No match

icenine% echo $HOME
/home/mydir
icenine% echo "$HOME"
/home/mydir
icenine% echo '$HOME'
$HOME

icenine% echo To see the current directory, which is `pwd`, type in: pwd
To see the current directory, which is /home/mydir, type in: pwd icenine%

This was first published in December 2002

Dig deeper on Alternative OS security: Mac, Linux, Unix, etc.

Pro+

Features

Enjoy the benefits of Pro+ membership, learn more and join.

0 comments

Oldest 

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

-ADS BY GOOGLE

SearchCloudSecurity

SearchNetworking

SearchCIO

SearchConsumerization

SearchEnterpriseDesktop

SearchCloudComputing

ComputerWeekly

Close