bash: 셸 따옴표 및 셸 쌍따옴표

ℹ️이 콘텐츠에는 광고가 포함되어,판매 발생 시 수익이 발생합니다.(네이버 쇼핑 커넥트, 아마존 어필리에이트, 애드센스 등)

bash 및 셸 프로그램에서 명령어를 치환하는데 ‘$’ 기호와 소괄호'()’를 사용하는 대신 따옴표 기호도 사용합니다.

 치환은 수식의 어떤 부분에 그와 대등한 무언가로 바꿔 넣는 행위입니다.

‘셸 따옴표’와 ‘셸 쌍따옴표’의 기본 공통 사항은 확장을 제어하는데 활용된다는 것입니다.

여기에서 차이점은 셸 따옴표는 모든 확장을 제어하지만 셸 쌍따옴표는 3개의 기호를 제외하게 됩니다.

셸 쌍따옴표 제외 기호: $ \ `
셸 따옴표 셸 쌍따옴표

1. 셸 따옴표[:Quotes] 및 인자

간단하게 셸이 echo 명령어의 따옴표가 없는 경우에는 500 중에 5를 삭제하고 ‘take money 00’만 출력했습니다.

따옴표를 썼을 때는 ‘500’이 모두 표시되며, 셸은 원치 않는 확장을 선택해서 감출 수 있게 따옴표 기호를 활용하는 기능을 제공합니다.

~]# echo take money $500
 take money 00
 ~]# echo 'take money $500'
 take money $500

첫 줄에서는 셸이 echo 명령어 인자의 불필요한 공백을 삭제하여 단어 분할을 했습니다.
(인자는 수학에서 사용되는 주로 사용되는 용어로 서식에서 연산에 사용되는 값들을 모두 ‘인자=인수(argument)’라 할 수 있습니다.)

두 번째 줄에서는 따옴표를 활용한 매개변수 확장으로 정의되지 않은 변수로 처리되었던 5가 표시됩니다.

2. 셸 쌍따옴표[:Double Quotes]

셸 쌍따옴표로 텍스트를 묶으면 셸에서 사용하는 모든 특수한 기호들이 가진 의미가 없어집니다. 대신 일반적인 문자로 인식하게 됩니다. 단 [ $ \ ` ] 3개의 기호는 예외가 되며 3개의 기호를 쌍따옴표에서 사용할 수 있습니다.

~]# echo take money $500
 take money 00
 ~]# echo 'take money $500'
 take money $500
 ~]# echo "take money $500"
 take money 00

2.1 쌍따옴표 : 공백문자 인식 기능

쌍따옴표는 공백문자도 인식이 가능합니다.

 ~]# ll oo oo.txt
 ls: cannot access oo: No such file or directory
 ls: cannot access oo.txt: No such file or directory 

 ~}# ll "oo oo.txt"
 -rw-r--r-- 1 root root 0 Jul  8 15:55 oo oo.txt
 ~}# mv "oo oo.txt" oo_oo.txt 

해당 기능을 활용해 인식 후 삭제(rm)나 변경이 가능합니다.

2.2 쌍따옴표 활용 : 확장 및 치환 시 작업

매개변수 확장, 산술 확장, 명령어 치환 시에 쌍따옴표 안에서 해당 작업을 그대로 수행할 수 있습니다.

~]# echo "$USER $((2+2)) $(cal)"
3월 2021
일 월 화 수 목 금 토
    1  2  3  4  5  6
 7  8  9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31

Similar Posts

  • SSL 인증서 설치(Sectigo)

    Apache 웹 서버에 Sectigo SSL 인증서 설치를 진행합니다. 테스트 URL로 서브 도메인 tozisin.com으로 하여 설치 테스트를 진행합니다. 설치할 인증서는 설치 후 30일 간 이용 가능한 ‘Free 30Days SSL‘ 설치를 진행합니다. AlmaLinux 9.4는 Rocky Linux 9.4와 완전히 호환되는 RHEL 계열의 클론입니다. 따라서 Apache 설치 및 모듈 구성 방식도 Rocky Linux와 동일합니다. Apache 버전은 2.4.57입니다….

  • [Linux] localectl 명령어

    CentOS 7 버전부터 많은 명령어들이 통합되어 제공됩니다. 로케일 및 키보드 관련 부문은 localectl 명령어에서 제공합니다. locale은 원래 지역이나 장소를 의미하지만, IT 환경에서는 언어 및 지역 설정을 지칭합니다. 리눅스에서는 문자 인코딩, 언어, 날짜/시간, 숫자 등의 지역화 설정을 locale 문자열로 정의합니다. 대부분의 유닉스 및 리눅스 배포판은 POSIX 기반이며, 이는 Red Hat 및 Debian 계열도 포함됩니다….

  • 셸 스크립트: 셸 들여쓰기 및 확장 옵션명[long 옵션명]

    명령어를 길게 사용하다 보면 여러 명령어 줄을 넘겨서 입력하는 경우가 발생합니다. 가독성을 높이기 위해 명령어를 문장 연결 하는 백슬래시(\)를 사용하여 셸 들여쓰기를 할 수 있습니다. 목차1. 셸 따옴표[:Quotes] 및 인자2. 셸 쌍따옴표[:Double Quotes]2.1 쌍따옴표 : 공백문자 인식 기능2.2 쌍따옴표 활용 : 확장 및 치환 시 작업1. 셸 들여쓰기: 백슬래시(\) 백슬래시-라인피드 문자열이며 LF(Line Feed)는…

  • SSL 보안인증서 설치(CentOS 7)

    SSL 보안인증서는 한국·해외 웹사이트에서 필수 요소 중 하나입니다. SSL 보안인증서 설치 후 운영이 필요한 이유는 광고가 아닌 유기적 트래픽을 원할 경우 SSL(TLS) 인증서는 검색엔진최적화(SEO)에 필수 항목 중 하나이기 때문입니다. SSL 보안인증서는 사용자와 서버의 통신이 암호화되어 중간에 해커가 데이터를 가로채지 못하도록 하는 방화벽입니다. 목차1. 셸 따옴표[:Quotes] 및 인자2. 셸 쌍따옴표[:Double Quotes]2.1 쌍따옴표 : 공백문자…

  • [Linux] 리눅스 vi 명령어 정리 | Vim 3가지 모드 및 비주얼 모드

    리눅스 터미널에서 ‘.txt’, ‘.conf’ 등의 ASCII 파일을 편집하기 위해 vi 편집기 명령어를 사용합니다. vi 편집기는 명령모드 입력모드와 저장 및 종료 후 치환하는 리눅스 vi 명령어는 익숙해지면 매우 빠른 작업이 가능하기 때문에 효율적인 업무를 진행할 수 있습니다. 목차1. 셸 따옴표[:Quotes] 및 인자2. 셸 쌍따옴표[:Double Quotes]2.1 쌍따옴표 : 공백문자 인식 기능2.2 쌍따옴표 활용 : 확장…

  • 리눅스 tmp 디렉토리: /tmp와 /var/tmp 차이

    리눅스 tmp 디렉토리는 임시 파일을 저장하기 위해 주로 /tmp와 /var/tmp 디렉토리를 사용합니다. /tmp는 일시적인 임시 파일을 저장하는 공간으로, 시스템이 재부팅 되면 대부분의 파일이 삭제됩니다. 따라서 빠른 입출력과 임시 작업에 적합하며, 주로 프로세스가 실행 중 생성하는 임시 데이터를 저장합니다. 반면에 /var/tmp는 재부팅 후에도 파일이 유지되는 임시 저장 공간입니다. 장기간 유지가 필요한 임시 파일이나 작업…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 4   +   6   =