1.     for f in $(ls *.mp3)
2.     cp $file $target
3.     Filenames with leading dashes
4.     [ $foo = "bar" ]
5.     cd $(dirname "$f")
6.     [ "$foo" = bar && "$bar" = foo ]
7.     [[ $foo > 7 ]]
8.     grep foo bar | while read -r; do ((count++)); done
9.     if [grep foo myfile]
10.     if [bar="$foo"]; then ...
11.     if [ [ a = b ] && [ c = d ] ]; then ...
12.     read $foo
13.     cat file | sed s/foo/bar/ > file
14.     echo $foo
15.     $foo=bar
16.     foo = bar
17.     echo <<EOF
18.     su -c 'some command'
19.     cd /foo; bar
20.     [ bar == "$foo" ]
21.     for i in {1..10}; do ./something &; done
22.     cmd1 && cmd2 || cmd3
23.     echo "Hello World!"
24.     for arg in $*
25.     function foo()
26.     echo "~"
27.     local var=$(cmd)
28.     export foo=~/bar
29.     sed 's/$foo/good bye/'
30.     tr [A-Z] [a-z]
31.     ps ax | grep gedit
32.     printf "$foo"
33.     for i in {1..$n}
34.     if [[ $foo = $bar ]] (depending on intent)
35.     if [[ $foo =~ 'some RE' ]]
36.     [ -n $foo ] or [ -z $foo ]
37.     [[ -e "$broken_symlink" ]] returns 1 even though $broken_symlink exists
38.     ed file <<<"g/d\{0,3\}/s//e/g" fails
39.     expr sub-string fails for "match"
40.     On UTF-8 and Byte-Order Marks (BOM)
41.     content=$(<file)
42.     for file in ./* ; do if [[ $file != *.* ]]
43.     somecmd 2>&1 >>logfile
44.     cmd; (( ! $? )) || die
45.     y=$(( array[$x] ))
46.     read num; echo $((num+1))
47.     IFS=, read -ra fields <<< "$csv_line"
48.     export CDPATH=.:~/myProject
49.     OIFS="$IFS"; ...; IFS="$OIFS"
50.     hosts=( $(aws ...) )
51.     Non-atomic writes with xargs -P
52.     find . -exec sh -c 'echo {}' \;
53.     sudo mycmd > /myfile
54.     sudo ls /foo/*
55.     myprogram 2>&-
56.     Using xargs without -0
57.     unset a[0]
58.     month=$(date +%m); day=$(date +%d)
59.     i=$(( 10#$i ))
60.     set -euo pipefail
61.     [[ -v hash[$key] ]]
62.     (( hash[$key]++ ))
