Monday, 9 January 2017

Parameter substitution in Linux shell



 
Following the  table of parameter substitution in shell based on if parameter is set / empty (‘null’) / or unset:

+--------------------+----------------------+-----------------+-----------------+
|                    |         Set          |   Empty('null') |      Unset      |
+--------------------+----------------------+-----------------+-----------------+
| ${parameter:-word} | substitute parameter | substitute word | substitute word |
| ${parameter-word}  | substitute parameter | substitute null | substitute word |
| ${parameter:=word} | substitute parameter | assign word     | assign word     |
| ${parameter=word}  | substitute parameter | substitute null | assign word     |
| ${parameter:?word} | substitute parameter | error, exit     | error, exit     |
| ${parameter?word}  | substitute parameter | substitute null | error, exit     |
| ${parameter:+word} | substitute word      | substitute null | substitute null |
| ${parameter+word}  | substitute word      | substitute word | substitute null |
+--------------------+----------------------+-----------------+-----------------+


${parameter-substitute_value} --> Use substitute only if parameter is 'not set' 
${parameter:-substitute_value} --> Use substitute when parameter is 'not set' and also when parameter is set but empty ('null')


No comments:

Post a Comment

Total Pageviews

Popular Posts