환경변수
$USER → slee2
'$USER' → $USER
"$USER" → slee2
| → 파이프
'|' → 명령어
"|" → 명령어
리다이렉션도 동일
echo "cat minishell.c | cat < minishell.c"
파이프 오기전까지 처음 명령어 뒤는 모두 명령어의 인자
"ls" "-al" , 'ls' '-al' 같은 동작
"ls -al" → 하나의 명령어 또는 파일
\ + 특수문자 = 일반문자
HOME=a 라면
export HOME=$HOME:/bin$HOME
→ HOME=a:/bina
export HOME=$HOMEa$HOME
→ HOME=a
환경변수를 정할때 클론(:)이 붙으면 뒤 내용을 추가할수 있다.
cat < minishell.c cat < minishell_util.c
cat의 인자는 < minishell.c , cat, < minishell_util.c인데 리다이렉션은 cat으로 읽지 않는다.
그냥 띄어쓰기는 넘어가지만 따움표는 못넘어간다
원래 두개의 헤러독이 있으면 헤러독을 두번 실행해야됨 그러니까 밑에 예시를 보면 abc종료 후에 bbb종료까지 해야 커맨드가 실행되는 것을 볼 수 있음 그런데 처음에 aaaaa입력후에 ctrl + c를 누르면 모든 헤러독 그냥 종료됨 그런데 ctrl + d를 누르면 현재 헤러독만 종료된 상태에서 개행이 안되고 바로 옆에 다음 헤러독 실행됨
배쉬의 환경변수 중에 쉘 레벨이라는게 있음(SHLVL). 배쉬를 처음 실행하면 쉘 레벨 2로나옴 그상태에서 또 배쉬를 실행하면 3으로 나옴
exit | exit → 종료안됨