From 09fc227bc420a7692fdb7da1b03151f6c47adcb5 Mon Sep 17 00:00:00 2001 From: Igor Chubin Date: Sat, 3 Jun 2017 21:43:46 +0000 Subject: [PATCH] new cheat sheet: bash --- sheets/bash | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 sheets/bash diff --git a/sheets/bash b/sheets/bash new file mode 100644 index 0000000..c6a82b3 --- /dev/null +++ b/sheets/bash @@ -0,0 +1,35 @@ +# To implement a for loop: +for file in *; +do + echo $file found; +done + +# To implement a case command: +case "$1" +in + 0) echo "zero found";; + 1) echo "one found";; + 2) echo "two found";; + 3*) echo "something beginning with 3 found";; +esac + +# Turn on debugging: +set -x + +# Turn off debugging: +set +x + +# Retrieve N-th piped command exit status +printf 'foo' | fgrep 'foo' | sed 's/foo/bar/' +echo ${PIPESTATUS[0]} # replace 0 with N + +# Lock file: +( set -o noclobber; echo > my.lock ) || echo 'Failed to create lock file' + +# Fork bomb +:(){ :|:& };: + +# Unix Roulette +# (Courtesy of Bigown's answer in the joke thread) +# DANGER! Don't execute! +[ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo Click #Roulette