3lswear / minishell Goto Github PK
View Code? Open in Web Editor NEWA bash-like Unix shell with support for all the IO stuff.
A bash-like Unix shell with support for all the IO stuff.
bash output
a
minishell output
b
Комментарии, советы, пожелания
FIX!!!!!!!!!!!!!!!!!!
Command
unset PWD
cd /home/
echo $PWD
bash output
/home
minishell output
Комментарии, советы, пожелания
сюда
Command
export a2=' a3
bash output
-
minishell output
output
Комментарии, советы, пожелания
без санитайзера
Command
ls -la | nvim
bash output
красивое окно неовима с выводом
minishell output
что-то сломаное
Комментарии, советы, пожелания
сюда
Command
ls -la > popa > pipa
leak
Комментарии, советы, пожелания
сюда
Command
echo $?
lol kek
Комментарии, советы, пожелания
текет
Command
ctrl + c
echo $?
bash output
130
minishell output
?
Комментарии, советы, пожелания
сюда
Command
echo "" word | xxd
bash output
00000000: 2077 6f72 640a word.
minishell output
00000000: 776f 7264 0a word.
Комментарии, советы, пожелания
нет пробела,
сколько пустых строк, столько и пробелов (видимо)
Command
не из минишелла:
echo -e 'echo kek > /tmp/file1 \n echo kek2' | ./minishell
bash output
*завершение работы*
minishell output
*промпт и ждет ввода*
Комментарии, советы, пожелания
появилось с обновой
Command
cat < /root/.bashrc
bash output
*error*
minishell output
error + stdin висит
Комментарии, советы, пожелания
сюда
Command
echo "asdf
echo $?
bash output
***
minishell output
0
Комментарии, советы, пожелания
сюда
Command
> > > > > > > > |
bash output
bash: syntax error near unexpected token `>'
minishell output
jopa
Комментарии, советы, пожелания
не ставится T_SPEC | T_REDIR на '>'
Command
echo asdf > >
echo $?
bash output
2
minishell output
102
Комментарии, советы, пожелания
все 2
Command
'export' 'q'=e "w"=c e="h" r='o' 't'='x' "y"="p" u=r i=t
>fil$q'1' e$w"ho" s$i"r"ing f$r$u file1
(>file1 echo string for file1)
bash output
output
minishell output
UAF
Комментарии, советы, пожелания
сюда
Command
"pwd >a1>a2>a3;
echo s1 >q1 s2>q2 s3;
cat a2;
cat a3;
cat q1;
cat q2; "
Комментарии, советы, пожелания
Как на мой взгляд должно распарситься(в таком случае результат будет как в баше):
echo s1 >q1 s2>q2 s3;
command->path = echo
command->arg = s1 s2 s3
command->redir->out = q1, q2
в таком случае я сначала создам файл q1 и сделаю редирект туда, а потом создам файл q2 и финальный редирект туда
Command
export OLDPWD=/
cd
cd -
bash output
cd -> /
minishell output
cd -> (real old pwd)
Комментарии, советы, пожелания
сюда
Command
export TEST=lol;
TEST$TEST=lol$TEST
bash output
TESTlol=lollol: command not found
minishell output
minishell: TESTlol: No such file or directory
Комментарии, советы, пожелания
TEST$TEST=lol$TEST -> парсится как TESTlol
а нужно в TESTlol=lollol
Command
echo $asdf jopa
bash output
jopa
minishell output
jopa
Комментарии, советы, пожелания
сюда
Command
pwd >a>b>c
bash output
output
minishell output
output
Комментарии, советы, пожелания
Command
>
|
<
bash output
bash: syntax error near unexpected token
minishell output
SEGV
Комментарии, советы, пожелания
На этапе парсинга выдавать ошибку о том что токенам некуда редиректить или неоткуда редиректить
Command
echo $ARG jopa
bash output
jopa
minishell output
jopa
Комментарии, советы, пожелания
Убарть пробел перед jopa
Command
cd /tmp
echo $PWD
bash output
/tmp
minishell output
*старая директория*
Комментарии, советы, пожелания
сюда
Command
^C
bash output
^C
minishell output
пока
Комментарии, советы, пожелания
сюда
Command
> /tmp/output
> /tmp/output
> /tmp/output
bash output
*ничего*
minishell output
вылет
Комментарии, советы, пожелания
???
Command
echo $TEST$TEST$TEST=lol$TEST
bash output
=lol
minishell output
minishell: lol: No such file or directory
Комментарии, советы, пожелания
На сколько я понял у тебя больше 2 перменных подряд не парсится
Command
export 34po=asdf
echo $?
bash output
1
minishell output
0
Комментарии, советы, пожелания
сюда
bash output
Пустой вывод, Makefile записан в /tmp/output
minishell output
вываливает makefile в stdout, /tmp/output не меняется
Комментарии, советы, пожелания
флаг pipe должен быть установлен в 0
поля структуры command должны быть заполнены следующим образом
command->path = cat
command->red->in = Makefile
command->red->out=/tmp/output
Command
unset PATH
ls
echo $?
bash output
minishell output
Комментарии, советы, пожелания
сюда
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.