Tech Artifacts/Linux

Linux - 07. shell script

ls *.txt에서 별을 처리하는 건 ls가 아니다 — 셸과 확장ls *.txt를 친다. ls가 *.txt를 처리할까? 아니다. 셸이 먼저 *.txt를 a.txt b.txt c.txt로 펼쳐서(확장) ls에 넘긴다. ls는 이미 펼쳐진 파일 이름만 받는다. 이 사실을 모르면 셸 스크립트의 이상한 동작 원인을 평생 못 찾는다.셸은 단순한 명령 실행기가 아니다. 명령을 해석하고, 변수·glob·산술을 치환(확장)하며, 파이프·리다이렉션·제어문까지 처리하는 인터프리터다. cron, systemd unit, 배포 스크립트, 설정 자동화 — 리눅스 관리의 상당수가 셸 기반이다. 이 글은 셸이 명령을 어떻게 해석하는지, 그리고 그 해석을 스크립트로 어떻게 묶는지를 다룬다.셸은 명령 번역사다flowchart LR ..

Archive

'Shell' 1

Tech Artifacts/Linux

Linux - 07. shell script

ls *.txt에서 별을 처리하는 건 ls가 아니다 — 셸과 확장ls *.txt를 친다. ls가 *.txt를 처리할까? 아니다. 셸이 먼저 *.txt를 a.txt b.txt c.txt로 펼쳐서(확장) ls에 넘긴다. ls는 이미 펼쳐진 파일 이름만 받는다. 이 사실을 모르면 셸 스크립트의 이상한 동작 원인을 평생 못 찾는다.셸은 단순한 명령 실행기가 아니다. 명령을 해석하고, 변수·glob·산술을 치환(확장)하며, 파이프·리다이렉션·제어문까지 처리하는 인터프리터다. cron, systemd unit, 배포 스크립트, 설정 자동화 — 리눅스 관리의 상당수가 셸 기반이다. 이 글은 셸이 명령을 어떻게 해석하는지, 그리고 그 해석을 스크립트로 어떻게 묶는지를 다룬다.셸은 명령 번역사다flowchart LR ..

댓글

wall

방명록

방문 흔적을 남겨주세요. 질문이나 인사 모두 환영합니다.