반응형
변수에 인용 부호(따옴표) 사용 차이
변수를 인용 부호(따옴표) 안에 넣었을 때와 넣지 않았을 때의 차이를 설명합니다.
- 따옴표 없이 변수를 사용했을 때:이 경우, 쉘은
kansas
변수에 저장된 값을 공백을 포함한 모든 구분자로 분리하여 처리합니다. 여기서kansas
변수에 저장된 값이 공백을 포함하고 있으므로,echo
는 두 개의 별도 인자로 취급하여current_dir_listing.txt
와myfile.txt
를 각각 출력합니다. 이때, 파일 이름 사이에 있는 공백은 인자들을 분리하는 구분자로 사용됩니다. echo $kansas
- 따옴표로 변수를 감쌌을 때:따옴표로 변수를 감싸면, 변수의 값이 하나의 문자열로 취급됩니다. 즉, 변수 내부의 공백이나 다른 특수 문자들도 문자열의 일부로 인식되어 그대로 출력됩니다. 이 경우에는
current_dir_listing.txt
와myfile.txt
가 하나의 문자열로 취급되어 출력됩니다. 따옴표를 사용하면 공백을 포함한 모든 문자가 보존되어 변수에 저장된 전체 문자열이 정확하게 한 번에 출력됩니다. echo "$kansas"
정리
- 따옴표 없이 변수를 사용하면: 쉘은 변수의 값을 공백으로 분리된 여러 개의 인자로 취급하여 처리합니다.
- 따옴표로 변수를 감싸면: 변수의 전체 값이 하나의 문자열로 취급되어, 공백이나 특수 문자를 포함하여 그대로 출력됩니다.
이러한 동작은 특히 파일 이름이나 다른 데이터에 공백이나 줄 바꿈, 탭 등이 포함될 때 중요합니다. 이를 통해 스크립트에서 예상치 못한 문제를 피할 수 있습니다.
반응형
'Linuxpia > 리눅스 사용 팁' 카테고리의 다른 글
[리눅스 팁] bash에 문자열을 인수로 전달해서 명령 실행하기 (66) | 2024.04.27 |
---|---|
[리눅스 팁] 프로세스 치환하기 (64) | 2024.04.26 |
치환(command substitution)을 사용하여 명령 실행 (65) | 2024.04.24 |
[리눅스 팁] 명령의 성공 또는 실패 여부를 나타내는 종료 코드 (59) | 2024.04.22 |
[리눅스 팁] 리스트 형태 명령 실행 사례 (48) | 2024.04.21 |