ulimit -n cat Makefile | grep pr | head -n 5 | cd test (mybin) echo $? cat Makefile | grep pr | head -n 5 | cat test (bin) echo $? cat Makefile | grep pr | head -n 5 | hello (NA) echo $? #--------------------------------------------- # Race condition, unpredictable behaviour echo DOET HET NIET > test1 | cat test1 #---------------------------------------------- # ; Semicolon separator echo hallo | echo poep >x1 >x2 echo hallo ; echo poep >x1 >x2 echo hallo | echo hoi > y1 >y2 ; cat -e echo "hello | this is some stuff > touch this file" | grep more echo bonjour ; | echo bonjour |; ; echo coucou | ; echo ;; #---------------------------------------------- # Export builtins export | grep -e "HOME=" export | grep -e "PWD=" export a="\\" export # var without export POEP=directory1 MEERPOEP=directory2 export PATH="test:working:multiplepath:directory1:directory2" env #---------------------------------------------- # CD builtins export CDPATH="/" cd bin pwd export CDPATH="/" cd pwd export CDPATH="/" export HOME= cd pwd export CDPATH="/" unset HOME cd pwd export CDPATH="" mkdir -p a/b cd b pwd export CDPATH="./" mkdir dir cd dir pwd export CDPATH="../a" mkdir -p a/b/c cd b pwd cd a pwd cd b pwd export CDPATH=a mkdir -p a/b/c cd b pwd export CDPATH=A mkdir -p a/b/c cd b pwd export CDPATH=a mkdir -p a/b/c cd ./b pwd export CDPATH=a mkdir -p a/b/c cd a cd ../b pwd export CDPATH=a mkdir -p a/b/c cd . pwd export CDPATH=a mkdir -p a/b/c cd a cd .. pwd export CDPATH=a mkdir -p a/b/c mkdir b cd b pwd export CDPATH=a/b mkdir -p a/b/c cd c pwd export CDPATH=a:b:a:b mkdir -p a/test b/test mkdir -p a:b/test cd test pwd export CDPATH=b:a:a:b mkdir -p a/test b/test mkdir -p a:b/test cd test pwd export CDPATH=a:b:a:b mkdir -p a/hello b/hello mkdir -p a:b/test cd test pwd export CDPATH=a:b:a:b mkdir -p a/test b/test mkdir -p a:b/test chmod 000 a/test cd test pwd cd ../../ chmod 777 a/test export CDPATH="/" cd / pwd export CDPATH="/" cd /bin pwd export CDPATH="/bin" cd /bin pwd export CDPATH="/bin" cd /bin pwd export CDPATH="a" mkdir a cd a pwd export CDPATH="a" mkdir -p a/a cd a pwd export CDPATH=// cd bin export CDPATH=//bin/..////////////bin/../ cd bin export CDPATH=/// cd bin export CDPATH=":" cd dir pwd export CDPATH="hello:" cd dir pwd export CDPATH=":/" cd dir pwd export CDPATH="::/" cd bin pwd export CDPATH="::/:" cd bin pwd export CDPATH="" cd bin pwd export CDPATH="/:" cd bin pwd export CDPATH="//::" cd bin pwd #---------------------------------------------- # special characters echo "$222" echo "hallo$USER***$USER$2$" echo "$53535" echo $53535 echo "$5fsdlfjlfj" echo $1 #---------------------------------------------- # expansions with quotes $"" echo $"USER" echo $"etet" echo $"hallo" echo /$"123$USER" echo hallo$"USER" echo hallo$"POEP" echo hallo$'USER' echo $"" echo $"nothing" echo $"$USER" #---------------------------------------------- # ' " single quotes echo hallo 'ma'ran' siemons echo hallo 'ma\"ran' siemons echo hallo 'ma\'ran'' siemons echo "hallo"maran" echo hallo" echo poep" echo poep""" echo hallo"\poep echo " " " echo " echo """ echo ' echo $USER" echo "$USER echo hallo$'USER' ' echo $USER' echo $USER' echo $' echo $' ' ' echo $"USERhallo" #---------------------------------------------- # \ Backslash echo "bip | bip ; coyotte > < \" " echo bonjour > test\ 1 ls rm test echo bonjour \; ls echo \"test\" echo "123\"456" echo poep\' echo "poep\" echo "hallo\"\poep" #echo "\$" #echo "\"" #echo \'1234' #echo \hallo #echo "123\$456" #echo "123\\456" #echo “$\hallo” #echo $"\hallo" #echo "\\hallo" #echo "hallo\\hoi" #echo "\\$USER" #echo "123\"456" #echo "hallo\"\poep" #echo hallo$\\abc #echo hallo$\abc #echo hallo$\abc #echo '$USER'$USER\$USER/"$USER" #echo \$? #echo \" #echo \poep #echo "123\'456" #echo 123\'456 #echo "'\$USER'" #echo "\$USER" #echo "123\"456" #echo "poep\'" #echo "poep\"" #echo "\$USER" #echo \$USER #echo \$? #echo hallo\$USER #echo ma\ #echo 'ma\' Hij ziet de \ niet als escape, print gewoon \ #echo 'ma\' Hij ziet de \ niet als escape, print gewoon \ #echo hallo ma\"ran siemons #echo hallo 'ma\'ran' siemons #echo "\"" #echo \' #echo \n ' \n this is the; "first line"' #echo 00\\\'pp #echo \$HOME #echo "\\s" #echo "\n \\n \\\n" #echo \> #echo 00\\\\\'pp #echo 00\\\\'pp' echo \\ echo "\\" echo \poep echo \1 echo 123\!456 echo 123\456 echo "\" echo \" "\\" "\"" \\ \' \" echo "\\" echo \"1234" echo "1234\" echo "1234\\" echo "\\" echo \a echo \b echo \c echo \d echo \e echo \! echo \" echo \# echo \$ echo \% echo \& echo \' echo \( echo \) echo \* echo \+ echo \, echo \- echo \. echo \/ echo \0 echo \1 echo \2 echo \3 echo \4 echo \5 echo \6 echo \7 echo \8 echo \9 echo \: echo \= echo \? echo \@ echo \A echo \B echo \C echo \D echo \E echo \F echo \G echo \H echo \I echo \J echo \K echo \L echo \M echo \N echo \O echo \P echo \Q echo \R echo \S echo \T echo \U echo \V echo \W echo \X echo \Y echo \Z echo \[ echo \\ echo \] echo \^ echo \_ echo \a echo \b echo \c echo \d echo \e echo \f echo \g echo \h echo \i echo \j echo \k echo \l echo \m echo \n echo \o echo \p echo \q echo \r echo \s echo \t echo \u echo \v echo \w echo \x echo \y echo \z echo \{ echo \} echo \~