<Linux Shell Script Chapter 7> - 입출력과 환경변수 1

심우열·2023년 2월 27일
0

Linux Shell Script

목록 보기
16/17

1. 입력과 출력

1. Bash 스트립트의 입력은 다양한 방법으로 가능

  1. 명령 줄 인수
  2. 환경 변수
  3. 파일
  4. 파일 기술자(file descriptor)로 표현 가능한 파이프, 터미널, 소켓 등

2. Bash 스크립트의 출력은 다양한 방법으로 가능

  1. 파일
  2. 파일 기술자(file descriptor)로 표현 가능한 다른 것
  3. 다른 프로그램에 명령 줄 인수로
  4. 다른 프로그램에 환경 변수의 형태로

2. 위치 매개 변수

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를 의미, 매개 변수의 위치 순서로 표시

3. 환경 변수와 export

1. 환경변수 변경해보기

LANG=en_US.UTF-8
echo $LANG


하지만 터미널 종료 이후 다시 로그인 하면 환경변수 LANG은 원래대로 돌아옴

2. 환경변수는 서브쉘이나 자식 프로세스에서 상속됨

3. 일반변수는 자식 프로세스에서 상속이 일어나지 않음

  1. locale.sh
#!/bin/bash
echo $LANG in locale.sh
echo $LANG1 in locale.sh
  1. 일반변수 LANG1 초기화, 환경변수 LANG 변경
LANG=en_US.UTF-8
LANG1=en_US.UTF-8

4. 일반변수는 서브쉘에서는 상속 됨

echo $LANG1
( echo $LANG1 in subshell; )
echo $LANG1

5. 일반변수를 자식 프로세스에서 상속되게 하는 방법(export)

  1. locale.sh
#!/bin/bash
echo $LANG in locale.sh
echo $LANG1 in locale.sh
  1. export를 이용한 일반변수 LANG1 초기화
export LANG1=en_US.UTF-8

profile
Dev Ops, "Git, Linux, Docker, Kubernetes, ansible, " .

0개의 댓글