Size: 394
Comment:
|
← Revision 5 as of 2023-01-20 22:05:53 ⇥
Size: 1131
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 13: | Line 13: |
: elif [ TEST ]; then : |
echo "TEST is true" elif grep /path/to/file --fixed-strings foo >/dev/null; then echo "TEST is false and '/path/to/file' contains 'foo'" |
Line 17: | Line 17: |
: | echo "TEST is false and '/path/to/file' does not contain 'foo'" |
Line 20: | Line 20: |
[[Shell/Test|Shell tests]] are typically used as the condition (as seen above), but any command that sets the exit code in the expected pattern (zero for true, non-zero for false; as seen above with `grep(1)`) can be used. ---- == Conditional Commands == To execute a command conditionally after another command, try: {{{ true && echo "This only executes because the first command set an exit code of 0" false || echo "This only executes because the first command set an exit code of 1" }}} These operators have equal precedence. |
|
Line 36: | Line 54: |
echo "Please enter y or n" | echo "Please enter y or n only" |
Shell Logic
Conditional Logic
if [ TEST ]; then echo "TEST is true" elif grep /path/to/file --fixed-strings foo >/dev/null; then echo "TEST is false and '/path/to/file' contains 'foo'" else echo "TEST is false and '/path/to/file' does not contain 'foo'" fi
Shell tests are typically used as the condition (as seen above), but any command that sets the exit code in the expected pattern (zero for true, non-zero for false; as seen above with grep(1)) can be used.
Conditional Commands
To execute a command conditionally after another command, try:
true && echo "This only executes because the first command set an exit code of 0" false || echo "This only executes because the first command set an exit code of 1"
These operators have equal precedence.
Case Switching Logic
case $INPUT_STRING in y) echo "Proceeding..." ;; n) echo "Quitting..." ;; *) echo "Please enter y or n only" ;; esac