Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
scripting:basics [2015/08/02 06:27] bill_thomson |
scripting:basics [2015/08/02 06:31] (current) bill_thomson |
||
---|---|---|---|
Line 148: | Line 148: | ||
==== Block commenting ==== | ==== Block commenting ==== | ||
- | To temporarily disable complete blocks of code you would normally have to prefix every line of that block with a # (hashmark) to make it a comment. There's a little trick, using the pseudo command '':'' (colon) and input redirection. The '':'' does nothing, it's a pseudo command, so it does not care about standard input. In the following code example, you want to test only the things that don't harm (mail, logging) but not actually do anything to the system (dump database, shutdown): | + | To temporarily disable complete blocks of code you would normally have to prefix every line of that block with a # (hashmark) to make it a comment. There's a little trick, using the pseudo command '':'' (colon) and input redirection. The '':'' does nothing, it's a pseudo command, so it does not care about standard input. In the following code example, you want to test mail and logging, but not dump the database, or execute a shutdown: |
<code bash> | <code bash> | ||
#!/bin/bash | #!/bin/bash | ||
Line 165: | Line 165: | ||
</code> | </code> | ||
What happened? The '':'' pseudo command was given some input by redirection (a here-document) - the pseudo command didn't care about it, effectively, the entire block was ignored. | What happened? The '':'' pseudo command was given some input by redirection (a here-document) - the pseudo command didn't care about it, effectively, the entire block was ignored. | ||
- | One could say, **the whole block is a comment**. For completeness: To make the here-document possible, the shell might generate a temporary file in the ''/tmp'' directory. | ||
The here-document-tag was quoted here **to avoid substitutions** in the "commented" text! Check [[syntax:redirection#tag_heredoc | redirection with here-documents]] for more | The here-document-tag was quoted here **to avoid substitutions** in the "commented" text! Check [[syntax:redirection#tag_heredoc | redirection with here-documents]] for more |