Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
syntax:pe [2015/12/04 07:15]
fgrose [Quote Nesting] decency
syntax:pe [2018/07/24 19:53] (current)
nicolae Fixed typo
Line 78: Line 78:
 __Why does the first one fail?__ It prints nothing, because a parameter (variable) named "''​WORDs''"​ is undefined and thus printed as ""​ (//​nothing//​). Without using braces for parameter expansion, Bash will interpret the sequence of all valid characters from the introducing "''​$''"​ up to the last valid character as name of the parameter. When using braces you just force Bash to **only interpret the name inside your braces**. __Why does the first one fail?__ It prints nothing, because a parameter (variable) named "''​WORDs''"​ is undefined and thus printed as ""​ (//​nothing//​). Without using braces for parameter expansion, Bash will interpret the sequence of all valid characters from the introducing "''​$''"​ up to the last valid character as name of the parameter. When using braces you just force Bash to **only interpret the name inside your braces**.
  
-Also, please remember, that **parameter names are** (like nearly everything in UNIX(r)) **case ​sentitive!**+Also, please remember, that **parameter names are** (like nearly everything in UNIX(r)) **case ​sensitive!**
  
 The second form with the curly braces is also needed to access positional parameters (arguments to a script) beyond ''​$9'':​ The second form with the curly braces is also needed to access positional parameters (arguments to a script) beyond ''​$9'':​
Line 100: Line 100:
 ''​${!PARAMETER}''​ ''​${!PARAMETER}''​
  
-In come cases, like for example+In some cases, like for example
  
 <​code>​ <​code>​
Line 192: Line 192:
     * => ''​THIS IS SOME TEXT''​     * => ''​THIS IS SOME TEXT''​
    * ''​echo "​${array[2]^^}"''​    * ''​echo "​${array[2]^^}"''​
-     * => ''​TEXT''​+     * => ''​SOME''​
  
 ===== Variable name expansion ===== ===== Variable name expansion =====
Line 325: Line 325:
 echo ${MYSTRING/​%x/​y} ​ # RESULT: xxxxxxxxxy</​code>​ echo ${MYSTRING/​%x/​y} ​ # RESULT: xxxxxxxxxy</​code>​
  
-If the replacement part is completely omitted, like, the matches are replaced by the nullstring, i.e. they are removed. This is equivalent to specifying an empty replacement:​+If the replacement part is completely omitted, the matches are replaced by the nullstring, i.e.they are removed. This is equivalent to specifying an empty replacement:​
 <​code>​ <​code>​
 echo ${MYSTRING//​conservative/​} echo ${MYSTRING//​conservative/​}
  • syntax/pe.1449213331.txt
  • Last modified: 2015/12/04 07:15
  • by fgrose