Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Implement] cmd, arg 환경변수 치환 #48

Closed
mingxoxo opened this issue Jan 13, 2023 · 0 comments · Fixed by #61
Closed

[Implement] cmd, arg 환경변수 치환 #48

mingxoxo opened this issue Jan 13, 2023 · 0 comments · Fixed by #61
Assignees
Labels
💻 Implement 기능 구현

Comments

@mingxoxo
Copy link
Owner

mingxoxo commented Jan 13, 2023

🚅 Issue 한 줄 요약

syntax error 검사 후 만들어진 tree 안의 cmdarg에 포함되어 있는 환경변수를 치환

🤷 Issue 세부 내용

단계

  1. 따옴표 안에 들어있지 않은 환경변수, " " 안에 있는 환경변수 치환
  2. 따옴표 안에 들어있지 않고 환경변수로 인해 생긴 space를 기준으로 노드 분리
  • cmd sub tree 기준 왼쪽 자식으로만 내려간다.
    • 리다이렉션 file은 환경변수 치환을 무시한다.
  • 환경변수를 감싸는 가장 바깥쪽 따옴표가 " 일 경우 환경변수가 치환된다.
  • 환경변수를 감싸는 가장 바깥쪽 따옴표가 ' 일 경우 환경변수가 치환되지 않는다.
  • 환경변수가 존재하지 않는 경우는 빈 문자열로 치환한다.
    → 이 때는 값이 NULL이라도 에러가 발생하지 않는다.

✨ 기대 결과

  • "$USER"jeongmin
  • '$USER'$USER
  • "'$USER'"'jeongmin'
  • '"$USER"'"$USER"
  • "$USER $USER"jeongmin jeongmin
@mingxoxo mingxoxo added the 💻 Implement 기능 구현 label Jan 13, 2023
@mingxoxo mingxoxo self-assigned this Jan 13, 2023
@mingxoxo mingxoxo moved this to 📋 To-do in Minishell backlog Jan 13, 2023
@mingxoxo mingxoxo moved this from 📋 To-do to 🏗 In progress in Minishell backlog Jan 13, 2023
@mingxoxo mingxoxo linked a pull request Jan 15, 2023 that will close this issue
wonyangs added a commit that referenced this issue Jan 15, 2023
@github-project-automation github-project-automation bot moved this from 🏗 In progress to ✅ Done in Minishell backlog Jan 15, 2023
@mingxoxo mingxoxo changed the title [Implement] 환경변수 치환 [Implement] cmd, arg 환경변수 치환 Jan 15, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
💻 Implement 기능 구현
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

1 participant