Linuxpia/리눅스 사용 팁

변수를 인용 부호(따옴표) 안에 넣었을 때와 넣지 않았을 때의 차이

Linuxpia4U 2024. 4. 25. 05:49
반응형

변수에 인용 부호(따옴표) 사용 차이

변수를 인용 부호(따옴표) 안에 넣었을 때와 넣지 않았을 때의 차이를 설명합니다.

  1. 따옴표 없이 변수를 사용했을 때:이 경우, 쉘은 kansas 변수에 저장된 값을 공백을 포함한 모든 구분자로 분리하여 처리합니다. 여기서 kansas 변수에 저장된 값이 공백을 포함하고 있으므로, echo는 두 개의 별도 인자로 취급하여 current_dir_listing.txtmyfile.txt를 각각 출력합니다. 이때, 파일 이름 사이에 있는 공백은 인자들을 분리하는 구분자로 사용됩니다.
  2. echo $kansas
  3. 따옴표로 변수를 감쌌을 때:따옴표로 변수를 감싸면, 변수의 값이 하나의 문자열로 취급됩니다. 즉, 변수 내부의 공백이나 다른 특수 문자들도 문자열의 일부로 인식되어 그대로 출력됩니다. 이 경우에는 current_dir_listing.txtmyfile.txt가 하나의 문자열로 취급되어 출력됩니다. 따옴표를 사용하면 공백을 포함한 모든 문자가 보존되어 변수에 저장된 전체 문자열이 정확하게 한 번에 출력됩니다.
  4. echo "$kansas"

caption: 변수에 인용부호 사용할 때와 안할 때의 차이

정리

  • 따옴표 없이 변수를 사용하면: 쉘은 변수의 값을 공백으로 분리된 여러 개의 인자로 취급하여 처리합니다.
  • 따옴표로 변수를 감싸면: 변수의 전체 값이 하나의 문자열로 취급되어, 공백이나 특수 문자를 포함하여 그대로 출력됩니다.

이러한 동작은 특히 파일 이름이나 다른 데이터에 공백이나 줄 바꿈, 탭 등이 포함될 때 중요합니다. 이를 통해 스크립트에서 예상치 못한 문제를 피할 수 있습니다.

반응형