IFS 변 수 는 더 블 따옴표 와 더 블 따옴표 변 수 를 추가 하지 않 는 것 에 대한 차이 점 입 니 다.

1235 단어
1. IFS (Internal Field Seprator) 변수
IFS 변 수 는 내부 도 메 인 구분자 라 는 특수 한 환경 변수 입 니 다.IFS 환경 변 수 는 bash 셸 을 필드 구분자 로 사용 하 는 일련의 문 자 를 정의 합 니 다.만약 bash 셸 이 데이터 에서 이 문자 들 중 하 나 를 보 았 다 면, 이것 은 목록 의 새로운 데이터 필드 의 시작 을 나타 낸다 고 가정 할 것 이다.
2. IFS 는 따옴표 가 붙 지 않 은 변 수 를 대 합 니 다.
예 를 들 어 Shell 에 다음 코드 를 입력 하 십시오:
IFS=:
_str_="hello:world"
for i in $_str_; do echo $i; done

다음 과 같은 결 과 를 얻 을 수 있 습 니 다.
hello
world

인용 문자열 변수 $str_더 블 따옴표 가 없 을 때 Shell 은 for 구문 에서 IFS 변수 에 따라 문자열 $str_여러 문자열 로 자 른 다음 echo $i 씩 출력 합 니 다.
2. IFS 는 따옴표 가 붙 은 변 수 를 대 합 니 다.
Shell 에 다음 코드 를 입력 하 십시오:
IFS=:
_str_="hello:world"
for i in "$_str_"; do echo $i; done

다음 과 같은 결 과 를 얻 을 수 있 습 니 다.
hello world

인용 문자열 변수 $str_작은 따옴표 가 붙 었 을 때 이 를 하나의 전체 로 처리 하고 IFS 가 작 동 하지 않 기 때문에 상기 for 순환 은 한 번 만 순환 할 수 있 습 니 다.그리고 echo $i 는 $i 에 따옴표 가 추가 되 지 않 아 IFS 에 의 해 잘 렸 으 나 echo 가 함께 출력 하기 때문에 같은 줄 에 있 습 니 다.그래서 Shell 에 다음 코드 를 입력 한 것 을 알 수 있 습 니 다.
IFS=:
_str_="hello:world"
for i in "$_str_"; do echo "$i"; done

다음 과 같은 결 과 를 얻 을 수 있 습 니 다.
hello:world

좋은 웹페이지 즐겨찾기