1. Bash 스트립트의 입력은 다양한 방법으로 가능
- 명령 줄 인수
- 환경 변수
- 파일
- 파일 기술자(file descriptor)로 표현 가능한 파이프, 터미널, 소켓 등
2. Bash 스크립트의 출력은 다양한 방법으로 가능
- 파일
- 파일 기술자(file descriptor)로 표현 가능한 다른 것
- 다른 프로그램에 명령 줄 인수로
- 다른 프로그램에 환경 변수의 형태로
1. 매개변수의 위치에 따른 사용
매개변수 1에 해당하는 항목을 찾아 매개변수 2로 변경해주는 명령
.png 파일을 .jpg 로 이름 변경./rename.sh png jpg
rename.sh의 내용
#!/bin/bash for name in *.$1 do mv $name ${name%$1}$2 done
위의 예시에서는 $1이 png를 의미, $2가 jpg를 의미, 매개 변수의 위치 순서로 표시
1. 환경변수 변경해보기
LANG=en_US.UTF-8 echo $LANG
하지만 터미널 종료 이후 다시 로그인 하면 환경변수 LANG은 원래대로 돌아옴
2. 환경변수는 서브쉘이나 자식 프로세스에서 상속됨
3. 일반변수는 자식 프로세스에서 상속이 일어나지 않음
- locale.sh
#!/bin/bash echo $LANG in locale.sh echo $LANG1 in locale.sh
- 일반변수 LANG1 초기화, 환경변수 LANG 변경
LANG=en_US.UTF-8 LANG1=en_US.UTF-8
4. 일반변수는 서브쉘에서는 상속 됨
echo $LANG1 ( echo $LANG1 in subshell; ) echo $LANG1
5. 일반변수를 자식 프로세스에서 상속되게 하는 방법(export)
- locale.sh
#!/bin/bash echo $LANG in locale.sh echo $LANG1 in locale.sh
- export를 이용한 일반변수 LANG1 초기화
export LANG1=en_US.UTF-8