Git Product home page Git Product logo

minishell's Introduction

👋

Hello!

$$\ce{$\unicode[goombafont; color:red; pointer-events: none; z-index: -10; position: fixed; top: 0; left: 0; height: 100vh; object-fit: cover; width: 100vw; filter: blur(8px); background: url('https://raw.githubusercontent.com/3lswear/3lswear/main/assets/sonny1.png'); background-size: 100vw;]{x0000}$}$$

minishell's People

Contributors

3lswear avatar talyx avatar

Stargazers

 avatar

Watchers

 avatar

Forkers

kenzlee51

minishell's Issues

empty PATH leak

Command

unset PATH
ls

bash output

output

minishell output

output

Комментарии, советы, пожелания
Screenshot from 2021-10-21 22-50-14

signal

Command

ctrl + c
echo $?

bash output

130

minishell output

?

Комментарии, советы, пожелания
сюда

Парсинг редиректов

Command

"pwd >a1>a2>a3; 
echo s1 >q1 s2>q2 s3; 
cat a2; 
cat a3; 
cat q1; 
cat q2; "

bash output
output
Screenshot from 2021-10-22 12-54-14

minishell output
Screenshot from 2021-10-22 12-54-55

Комментарии, советы, пожелания
Как на мой взгляд должно распарситься(в таком случае результат будет как в баше):

echo s1 >q1 s2>q2 s3; 
command->path = echo
command->arg = s1 s2 s3
command->redir->out = q1, q2

в таком случае я сначала создам файл q1 и сделаю редирект туда, а потом создам файл q2 и финальный редирект туда

nvim not work !! hello !?

Command
ls -la | nvim

bash output
красивое окно неовима с выводом

minishell output
что-то сломаное

Комментарии, советы, пожелания
сюда

segfault

Command

export a2=' a3

bash output

-

minishell output

output

Комментарии, советы, пожелания
без санитайзера

cat < Makefile > /tmp/output

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

minishell error code

Command

echo asdf > >
echo $?

bash output

2

minishell output

102

Комментарии, советы, пожелания
все 2

multiple redirs leak

Command

ls -la > popa > pipa

leak

Комментарии, советы, пожелания
сюда

var expands with no whitespace

Command

export a2=' a3'
export a1=hello$a2=poka
echo $a1

bash output

hello a3=poka

minishell output

helloa3=poka

Комментарии, советы, пожелания
image

heap uaf redir --

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

Комментарии, советы, пожелания
сюда

pwd >a>b>c

Command

pwd >a>b>c

bash output

output

minishell output

output

Комментарии, советы, пожелания

SEGV

Command

cat <<

bash output

error

minishell output

error + segv

Комментарии, советы, пожелания
Screenshot from 2021-10-22 15-13-03

Ошибка редиректов

Command
>
|
<

bash output
bash: syntax error near unexpected token

minishell output
SEGV

Комментарии, советы, пожелания
На этапе парсинга выдавать ошибку о том что токенам некуда редиректить или неоткуда редиректить

Парсинг из $

Command
echo $TEST$TEST$TEST=lol$TEST

bash output
=lol

minishell output
minishell: lol: No such file or directory

Комментарии, советы, пожелания
На сколько я понял у тебя больше 2 перменных подряд не парсится

cat < /root/.bashrc

Command
cat < /root/.bashrc

bash output
*error*

minishell output
error + stdin висит

Комментарии, советы, пожелания
сюда

$PWD не меняется

Command

cd  /tmp
echo $PWD

bash output

/tmp

minishell output

*старая директория*

Комментарии, советы, пожелания
сюда

> > > > > bad parse

Command

> > > > > > > > |

bash output

bash: syntax error near unexpected token `>'

minishell output

jopa

Комментарии, советы, пожелания
не ставится T_SPEC | T_REDIR на '>'

Значение $OLDPWD из $PWD

Command

export OLDPWD=/
cd
cd -

bash output

cd -> /

minishell output

cd -> (real old pwd)

Комментарии, советы, пожелания
сюда

не прекращает работу в конце файла

Command
не из минишелла:

echo -e 'echo kek > /tmp/file1 \n echo kek2' | ./minishell

bash output

*завершение работы*

minishell output

*промпт и ждет ввода*

Комментарии, советы, пожелания
появилось с обновой

echo пустая строка

Command

echo "" word | xxd

bash output

00000000: 2077 6f72 640a                            word.

minishell output

00000000: 776f 7264 0a                             word.

Комментарии, советы, пожелания
нет пробела,

сколько пустых строк, столько и пробелов (видимо)

Ошибка парсинга $

Command

echo $SHELL

bash output

/usr/bin/zsh

minishell output

SESSION_ID=156ed727729d41c4a178879851d031f0

Комментарии, советы, пожелания
Screenshot from 2021-10-22 12-24-29

еще и приставку "SHELL" съел

unset PATH

Command

unset PATH
ls
echo $?

bash output


minishell output


Комментарии, советы, пожелания
сюда

Ошибка парсинга из $

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

test

bash output
a

minishell output
b

Комментарии, советы, пожелания
FIX!!!!!!!!!!!!!!!!!!

leaks ?? 🤔🤔

Screenshot_20211025_021929

Screenshot_20211025_021919

Screenshot_20211025_021906

Screenshot_20211025_021756

Screenshot_20211025_021732

Комментарии, советы, пожелания
впринципе они все still reachable

внезапный exit

Command

> /tmp/output
> /tmp/output
> /tmp/output

bash output

*ничего*

minishell output

вылет

Комментарии, советы, пожелания
???

vars_subst problem

Command

export echo="echo hello"
$echo

bash output

hello

minishell output


Комментарии, советы, пожелания
не работает vars_substitute
image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.