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 [2016/07/29 15:02]
mh [Indirection]
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 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.1469804525.txt
  • Last modified: 2016/07/29 15:02
  • by mh