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

  • 리눅스 free 명령어: 메모리 상태 확인

    리눅스 free 명령어는 서버의 메모리 사용량과 여유 사용량을 확인할 수 있는 명령어로 /proc/meminfo의 메모리 정보를 가져와 보여줍니다. 목차1. 셸 따옴표[:Quotes] 및 인자2. 셸 쌍따옴표[:Double Quotes]2.1 쌍따옴표 : 공백문자 인식 기능2.2 쌍따옴표 활용 : 확장 및 치환 시 작업✅ 리눅스 free 명령어 옵션 1. free -h 설명 2. 옵션 활용 ✅ 스왑(SWAP)메모리란? ✅ 명목…

  • 리눅스 which whereis locate: 3가지 위치(경로) 확인 명령어

    리눅스 which와 whereis 명령어 명령어의 위치를 알 수 있는 명령어는 find 명령어를 이용해서 파일을 찾을 수 있지만 find 명령어는 시간이 소요되는 단점도 존재합니다. locate 명령어는 파일명을 빠르게 검색할 때 사용할 수 있습니다. 리눅스 기본 명령어 3가지에 대해 알아 보겠습니다. 목차1. 셸 따옴표[:Quotes] 및 인자2. 셸 쌍따옴표[:Double Quotes]2.1 쌍따옴표 : 공백문자 인식 기능2.2 쌍따옴표…

  • 리눅스 dd 명령어

    리눅스 시스템에서 사용하는 명령어 중 하나인 dd 명령어는 디스크, 파티션의 복사, 이미지 파일 생성, 디스크 작업 등 주로 데이터를 복사하거나 변환하는데 사용되는 명령어입니다. 목차1. 셸 따옴표[:Quotes] 및 인자2. 셸 쌍따옴표[:Double Quotes]2.1 쌍따옴표 : 공백문자 인식 기능2.2 쌍따옴표 활용 : 확장 및 치환 시 작업✅ dd 명령어 기본 사용 및 옵션 기본 사용 방법은…

  • 리눅스 명령행 인자(Command-Line Argument)와 명령어 옵션

    ‘리눅스 명령행 인자(Command-Line Argument)‘는 ‘리눅스 명령어 인수‘, ‘명령 인자‘ 등으로도 불리며, 리눅스 커맨드 라인에서 명령어를 실행할 때 프로그램에 전달하는 매개변수를 뜻 합니다. 리눅스에서 “매개변수(Parameters)”는 일반적으로 프로그램이나 함수에 전달되는 값을 가리킵니다. 이 값은 해당 프로그램이나 함수가 실행될 때 필요한 입력 값으로 사용됩니다. 컴퓨터 프로그래밍에서 “매개변수(Parameters)”는 함수에 전달되는 값을 받아들이는 변수를 의미합니다. 이는 함수 정의에…

  • 리눅스 셸 환경(Shell Environment) 정의 및 이해와 쉘 환경변수 | Shell 시작 파일 2가지

    셸 세션을 이용해서 서버와 상호 작용을 할 때 해당 동작과 리소스에 대한 연결을 결정하기 위해 컴파일 하는 많은 정보가 있습니다. 이러한 서정 중 일부는 구성 설정에 포함되어 있으며, 다른 설정은 사용자 입력에 의해 결정됩니다. 리눅스 셸 환경은 셸의 구성 설정과 사용자 입력에 의해 결정된 설정을 유지관리 영역을 이용해 관리하는 가장 일반적인 방법을 이용하게…

  • [Linux] lsof 명령어: 실행 중 파일 정보 출력

    lsof 명령어는 lisf open files의 약자로 리눅스 시스템에서 열려 있는 파일의 정보를 출력해 주는 명령어입니다. lsof 명령어는 파일을 포함하여 디렉터리, 네트워크 소켓, 파이프 등 프로세스가 사용 중인 다양한 리소스도 조회할 수 있습니다. 목차1. 셸 따옴표[:Quotes] 및 인자2. 셸 쌍따옴표[:Double Quotes]2.1 쌍따옴표 : 공백문자 인식 기능2.2 쌍따옴표 활용 : 확장 및 치환 시 작업…

답글 남기기

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

Prove your humanity: 9   +   8   =