554 lines
5.3 KiB
Bash
554 lines
5.3 KiB
Bash
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 \~
|
|
|