minishell's People
minishell's Issues
[Feature] command line parsing
추가할 기능
�command line parsing
할 일 목록
- input parsing
- '' "" parsing
- env parsing
설명
echo 의 옵션은 echo 구현에서 처리
[Feature] env의 realloc 부분에서 export 의 고려
추가할 기능
export
할 일 목록
env의 realloc 부분에서 환경 변수의 추가 뿐 아니라 환경 변수의 Value 변경
설명
[Fix] 클러스터의 MAC OS의 PATH_MAX도 1024인지에 대해서 확인 후 변경
추가할 기능
할 일 목록
src/display_prompt.c
클러스터의 MAC OS의 PATH_MAX도 1024인지에 대해서 확인 후 변경
설명
"The maximum size that might be required for buffer is PATH_MAX + 1 bytes."
UNIX의 PATH_MAX의 경우 4096으로 설정되어 있다.
MAC OS의 경우 아래의 출력을 보면, 1024로 설정되어 있음을 볼 수 있다.
[Feature] signal 처리
추가할 기능
ctrl-C ctrl-D ctrl-\ should work like in bash.
할 일 목록
- ctrl-C print a new prompt on a newline.
- ctrl-D exit the shell.
- ctrl-\ do nothing.
설명
[Feature] implement working History
추가할 기능
working History
할 일 목록
- implement working History
- $? should expands to the exit status of the most recently executed foreground pipeline.
설명
[Bug] command line parsing
Describe the bug
command line parsing 함수 실행 결과 기대한 값이 나오지 않음
parse command line
- 마지막 문자열을 누락함
parse env
- env value 뒤에 공백이 하나 누락됨
- 존재하지 않는 env key의 경우 value를 빈 문자열로 처리하지 않고 null으로 처리되어 null이 출력됨
- env 다음에 공백이 아닌 따옴표가 오는 경우 따옴표까지 env key에 포함시킴
- env value를 free함
parse quote
- 왼쪽 ' 문자의 다음 문자가 누락됨
- 문자열을 그대로 출력하지 않고 치환하여 출력함
parse double quote
- 왼쪽 " 문자 다음 문자가 누락됨
[Feature] implement the builtin command
추가할 기능
명령어 구현
할 일 목록
- echo with option -n
- cd with only a relative or absolute path
- pwd with no options
- export with no options
- unset with no options
- env with no options or arguments
- exit with no options
- empty input 은 패스하도록 설정
설명
[Feature] implement redirection
추가할 기능
명령어 수행시 리다이렉션 기능 추가
할 일 목록
- < should redirect input.
- > should redirect output.
- “<<” read input from the current source until a line containing only the delimiter is seen. it doesn’t need to update history!
- “>>” should redirect output with append mode.
설명
[Feature] pipe 구현
추가할 기능
Pipes | The output of each command in the pipeline is connected via a pipe to the input of the next command.
할 일 목록
- pipe 구현
설명
small to mini
minishell 양식에 맞도록 수정
- norminette check
- 사용 가능한 함수만 사용
- 구현 안된 기능 체크
- [ ]
todo list
[Bug] env parsing
Describe the bug
env parsing 시 = 이 여러개인 경우 고려하지 않고 있음
- 가장 왼쪽의 = 만 처리하도록 수정
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.