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