reparation de la suppression des fichiers crees, ajout possibilite entrer un fichier sans extension sh, recuperation automatique des fichiers dans dossier default

This commit is contained in:
hugogogo
2021-12-13 22:57:02 +01:00
parent e90244a868
commit 74da77d1e7
12 changed files with 676 additions and 44 deletions

11
tests/bonus.sh Normal file
View File

@@ -0,0 +1,11 @@
echo bonjour ; |
echo bonjour |;
;
echo coucou | ;
echo ;;
echo bonjour \; ls

View File

@@ -0,0 +1,74 @@
#
# EXPORT
#
export var
export var=test
export var ="cat Makefile | grep >"
export "test=ici"=coucou
export LOL=lala ROR=rara
export "HI= hi"
export "HI =hi"
#
# ECHO
#
echo
echo simple
echo -n simple
echo -n -n -nnnn -nnnnm
#
# PWD
#
pwd a
pwd a b c d
#
# CD
#
cd
pwd
cd .
pwd
cd ~
pwd
cd /
pwd
cd no_file
pwd
cd a b c d
pwd
cd $HOME/Documents
pwd
cd ../../../../../..
pwd
#
# EXIT
#
exit -10
exit +10

View File

@@ -0,0 +1,33 @@
#
# ENV
#
env
export
env
# display is different for both commands
env
export
env
#
# UNSET
#
export BLOU=
env
unset BLOU
env
unset LOL ROR
env
unset blablabla
env
export ""
env
unset ""
env

View File

@@ -0,0 +1,17 @@
echo $?
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 $?
cat diufosgid
echo $?
exit
echo $?

View File

@@ -0,0 +1,52 @@
echo "bip | bip ; coyotte > < \" "
export vat=at
c$var Makefile
$blablabla
$LESS$VAR
echo '\'
echo "\"
echo "\\"
echo "\n \n \n"
echo "\n \\n \\\n"
echo hi";" hihi
echo hi " ; " hihi
echo "\s"
echo "\\s"
echo \>
echo "$HOME"
echo '$HOME'
echo \$HOME
export A="s -la"
l$A
export A=p
export B=w
$A"$B"d
"$A"'$B'd
echo "ls -la <a | grep x > b"
echo ok "" ok
echo ok "" "" "" "" "" "" "" "" "" ok
export OK="ok ok"
echo $OK

View File

@@ -0,0 +1,6 @@
#!/bin/bash
#cat << EOF
#hello
#EOF

48
tests/defaults/pipes.sh Normal file
View File

@@ -0,0 +1,48 @@
echo bonjour ; |
echo bonjour | |
|
echo bonjour |;
cat Makefile | grep pr | head -n 5 | cd test (mybin)
cat Makefile | grep pr | head -n 5 | cat test (bin)
cat Makefile | grep pr | head -n 5 | hello (NA)
cat | cat | cat | ls
echo hudifg d | | hugdfihd
echo |
| echo
sort | ls
exit 0 | exit 1
exit 1 | exit 0
cat < Makefile | grep gcc > output
ls
rm output
rm output
sleep 1 | exit
ls | cat
cat | ls
ulimit -n
ls /proc/self/fd
ls | ls | ls /proc/self/fd
ls | ls | ls | ls | ls | ls /proc/self/fd

View File

@@ -0,0 +1,100 @@
echo bonjour > $test
ls
rm '$test'
> log echo coucou
ls
rm log
cat < >
cat < <
cat > >
> a ls > b < Makefile
ls
rm a b
echo > a Hello World!
ls
rm a
> a echo Hello World!
ls
rm a
echo bonjour > test\ 1
ls
rm test
echo bonjour >>> test
echo bonjour > > out
ls
rm out
echo 2 >> out1 > out2
ls
rm out1 out2
echo 2 > out1 >> out2
ls
rm out1 out2
cat < blablabla
echo test > file test1
ls
rm file
not_cmd bonjour > salut
ls
rm salut
>testt
ls
rm testt
>>testt
ls
rm testt
<testt
ls
rm testt
touch testt
<testt
rm testt
rm testt
<testt
rm testt
cat <a <b >c >d
echo hello >a
echo byebye >b
cat <a <b >c >d
cat a
cat b
cat c
cat d
rm a b c d
cat a | < b cat | cat > c | cat
ls
rm a b c
echo hello >a
echo byebye >b
echo ouf >c
cat a | < b cat | cat > c | cat
ls
cat a
cat b
cat c
rm a b c

11
tests/to_do_manually.sh Normal file
View File

@@ -0,0 +1,11 @@
cat /dev/random | head -n 1 | cat -e
ctrl-C . 130 sur bin(ex : sleep 10)&line vide
ctrl-\ .131 sur bin
/bin/ls
write something the press ctrl+c
write something then press ctrl+d
write something then press ctrl+\

662
tests/vrac.sh Normal file
View File

@@ -0,0 +1,662 @@
$
file_name_in_current_dir
/bin/echo bonjour
not_cmd
echo bonjour > $test w/ t
ls
"exit retour a la ligne"
minishell
# binary not in path without "./" before
l^Ds
touch testt
chmod 000 testt
ls
./testt
mkdir testt
./testt
pwd
cd ../
cat < ../
# https://github.com/potatokuka/mini_tester/blob/main/test_cmds.txt
/bin/ls
exit a aa a
echo ";;;;;"
/bin/pwd
ls -la
pwd
/bin/chmod
/bin/ls -la
echo 00\\\'pp ; echo 00\\\\\'pp
echo 00\\\\'pp' ; echo “./hello”. ; echo ./hello ; echo ello
Echo ; echo \n ' \n this is the; "first line"' ; echo "and right here;;; 'We have the second'" ; echo and" a fe"'w 'here'; with some slash and quotes .' '\' ; echo '\\' ; echo "\\" ; echo "\"" ; echo \\ ; echo \' ; echo \" "\\" "\"" \\ \' \"
echo /$"123$USER"
echo | cd .. | pwd
echo DOET HET NIET > test1 | cat test1
echo hallo >x1 >x2 >x3 | echo hoi
echo $POEP hallo
echo "hallo$"
echo "\poep"
echo $/
echo $
echo "123\"456"
exit 123 123 123
exit 1234
echo $?
/bin/ls
echo $?
/bin/ls doesnotexist
echo $?
echo hi ; echo ; echo ; echo ; export ; env ; echo ; echo ; echo ; echo working ; echo $PWD
ctrl-C
ctrl-D
ctrl-\
asdf ctrl-C
asdf ctrl-D
cat ctrl-C
asdf ctrl-\
cat ctrl-D
echo \"test\"
echo"
hoi
"
echo
hallo$
env
export ; export a="\\" ; export b='\\' ; export c="\b" ; export
env
export a=hijdoehet ; export
export test=working ; export
export test1
export
export test1=
export
export 1test
export _TEST=DOethetwelmetunderscore
env
env ; echo ; export a=hijdoehet ; echo ; env ; echo ; export test=working;echo ;env ; echo ; export test1; export; echo ; env ; echo ; export test1= ; echo ; env
export
export ZZZ
export ZZZ=
export ; export a="\\" ; export b='\\' ; export c="\b" ; export
export LS="ls -la" ; ls
export TEST="evenchecken"
echo $TEST
unset a ; env ; unset test ; unset test1 ; env
unset PATH
ls
wc
awk
echo $PWD ; echo $HOME ; echo "$PWD" ; echo '$PWD' ; echo "$HOME"
cd ..
pwd
/bin/ls
cd ..
pwd
/bin/ls
cd notworking
cd .
cd .. ;pwd;/bin/ls;cd .. ; pwd ;/bin/ls; cd notworking; cd .
cd ~
cd $IETSONBESTAANDS
cd $GEK ..
cd $NOTHING $MORENOTHING ..
pwd
pwd .
pwd ..
cd ../Desktop
ls -la
echo > ilovewords.txt count me ; wc ilovewords.txt
awk '{ print }' /etc/passwd
export PATH="test:working:multiplepath:directory1:directory2"
export
echo 'how are you'
echo '$PWD'
echo > "hardesttest.txt"
echo adding stuff >> working.txt
echo more stuff >> working.txt
echo > working.txt
echo dit > test1 gaat > test2 goed > test3
echo dit > test1 gaat > test2 goed > test3 > test4
cat < test4
< test4 cat
> newfile ; > working.txt
< working.txt
< notworking.txt
echo > doethet ; echo hoi >> doethet "of niet" ; echo clear > "doethet" ; echo test > working.txt ; echo > newfile.txt hardertest
export | grep -e "HOME="
echo hallo daar | echo hoi maran
cat working.txt | grep stuff | echo tim
cat | cat -e | cat
ls filedoesnotexist | grep notme | echo "TEST"
export | grep -e "PWD="
echo
echo hallo daar
"echo" hallo daar
echo "hallo daar"
echo hallo daar | echo hoi maran
echo hallo daar ; echo hoi maran
echo hallo >file1 >file2
echo hallo >file1 >file2 maran
echo hallo >file1 >file2 >>file3 maran siemons
echo hallo <file1 >file2
echo $USER""
echo $USER"
echo $USER_
cd
export
export ZZZ
export ZZZ=
export ZZZ=new_value
export ZZZ======new
export ZZZ=new YYY=new2 XXX===new3
export $USER
export TEST=$USER4857987345
export 123$USER---
export MARANSIEMONS
export MARANSIEMONS=lief
echo $
echo 123$USER----
echo 123$USER----$
echo abc$USERdef
echo abc$USER123
echo abc$POEPdef
echo $USER "$USER" '$USER'
export TEST_$USER=hallo$LOGNAME
echo $POEP
echo $POEP $MEERPOEP
echo hallo $POEP
hallo
echo $POEP hallo
hallo
export TEST=/Users/maran/Desktop/minishell
cd $IETSONBESTAANDS
cd $IETSONBESTAANDS
cd $POEP $MEERPOEP ..
echojhdfjhjdkh
echo | poep
echo | cd .. | pwd
echo
echo
echo hoi
cd poep
ls
"ls"
test
exit
exit 99
exit 3 a
exit 55 99
/bin/ls
/binn/ls
echo hallo 'ma\"ran' siemons
hallo ma\"ran siemons
echo hallo 'ma\'ran' siemons
Multiple line error
echo hallo 'ma\'ran'' siemons
hallo ma\ran siemons Hij ziet de \ niet als escape, print gewoon \
echo 'ma\' Hij ziet de \ niet als escape, print gewoon \
ma\
echo 'hallo$USER'
hallo$USER
echo 'hallo\$USER'
hallo\$USER
echo '\$?'
\$?
echo '$USER'
$USER
echo '\$USER'
\$USER
echo '"\$USER"'
"\$USER"
echo "hallo"maran"
echo "\poep"
\poep
echo \poep
poep
echo "poep\""
poep"
echo "poep\'"
poep\'
echo "poep\"
echo "hallo\"\poep"
hallo"\poep
echo hallo""
hallo
echo "hoi$USERmaran"
echo "$USER"
maran
echo "'\$USER'"
'$USER'
echo "\$USER"
$USER
echo "123\"456"
123"456
echo "\poep"
\poep
echo "123\'456"
123\'456
echo "hallo$"
hallo$
echo \"
"
echo \$?
echo '$USER'$USER
$USERmaran
echo '$USER'$USER\$USER/"$USER"
$USERmaran$USER/maran
echo hallo"1234"maran"$USER"'/$USER'"/$USER"'poep''poep2'"maran"'ellende'END
hallo1234maranmaran/$USER/maranpoeppoep2maranellendeEND
echo "$USER"'/$USER'
maran/$USER
echo 'poep''poep2'"maran"'ellende'END
poeppoep2maranellendeEND
echo 'poep2'"maran"'ellende'
poep2maranellende
echo 123"hallo$"456
export kip=ei=koe===melk
echo $_1234
echo hallo
echo hallo | echo hoi
echo hallo ; echo hoi
echo hallo >x1 >x2 >x3 | echo hoi
echo hallo >x1 >x2 >x3 ; echo hoi
echo hallo | echo poep >x1 >x2
echo hallo ; echo poep >x1 >x2
echo hallo | echo hoi | cat
echo hallo | echo hoi > y1 >y2 | cat -e
echo hoi > y1 >y2 ; cat -e
echo hallo | echo hoi > y1 >y2 ; cat -e
echt bash
echo "hello | this is some stuff > touch this file" | grep more
env | leaks
cat x1 | grep Makefile
ls > x1 ; cat x1 | grep main
echo $USERhallo
echo $hallo"poep"
echo /$"123$USER"
echo $a5aap
echo $_poep
echo hallo$\abc
hallo$abc
echo hallo$\\abc
hallo$\abc
echo hallo$"USER"
halloUSER
echo hallo$"POEP"
halloPOEP
echo hallo$'USER'
halloUSER
echo $halllo###
echo $USER9582309582529
echo $
echo $USER
echo $USER'
echo 123$USER----
echo 123$USER----$
echo abc$USERdef
echo abc$USER123
echo abc$POEPdef
echo $%%%%jlkjtwejt
echo %%$
echo $"USERhallo"
echo "$222"
echo "hallo$USER***$USER$2$"
echo "$_poep"
echo "$a5aap"
echo "$halllo###"
echo "$USER9582309582529"
"hallo$USER"
echo "$"
echo hallo"$"abc
hallo$abc
echo hallo"$POEP"abc
echo hallo"$USER"abc
echo "$USER"
echo "$USER'"
echo "$USER_"
echo "abc$USERdef"
echo "abc$USER123"
echo "abc$POEPdef"
echo "$%%%%jlkjtwejt"
echo "%%$"
echo $"hallo"
echo $hallo
echo $hallo"poep"
echo "hallo\"\poep"
echo $"etet"
$rewtwet
echo "$53535"
$"
$'
echo “$\hallo”
echo $"\hallo"
\hallo
echo "\\hallo"
\hallo
echo "hallo\\hoi"
hallo\hoi
echo "\\$USER"
\maran
echo "123\"456"
123"456
echo "123\$456"
echo "123\\456"
123\456
echo "123\!456"
123\!456
echo "1234"
echo "12\34"
echo "1234\"
echo \"1234"
echo "1\a234"
echo \1
echo "\1234"
echo "1234\\"
echo '1234\\'
echo '1234'
echo '12\34'
echo '1234\'
echo \'1234'
echo '1\a234'
echo '\1234'
echo '1234\\'
echo '1234\\'
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 \~
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 "\?"
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 "\}"
echo "\~"
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 '\?'
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 '\}'
echo '\~'
echo '\;'
echo "\;"
echo '\>'
echo "\>"
echo '\<'
echo "\<"
echo '\|'
echo "\|"