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

공정위 광고 문구 Ver 3.1
공정위 광고 문구 Ver 3.2(모바일 전용)

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

  • 리눅스 심볼릭 링크(Symbolic Link)와 하드 링크(Hard Link)

    리눅스에서 사용하는 심볼릭 링크(Symbolic Link)는 윈도우에서 사용하는 “바로가기”와 같은 기능을 가지고 있습니다. 소프트 링크 or 심링크로도 불리며, 하나의 파일에 여러 이름으로 생성할 수 있습니다. ✅ 심볼릭 링크 하드 링크 명령어 [-s 옵션]은 Symbolic Link를 만들어 주는 옵션이며 [-s 옵션]이 빠지게 되면 Hard Link를 생성하게 됩니다. ✅ 기존 하드 링크의 단점 Hard Link는 기존…

  • 리눅스 파티션 설정 방법: gdisk 명령어

    리눅스 파티션 설정(생성과 수정, 삭제)을 진행할 때 fdisk 명령어 또는 gdisk 명령어를 사용합니다. gdisk를 이용한 파티션 정보 편집에 대해 다뤄 보겠습니다. 마운트 하기 전 파티션의 설정은 다음과 같은 순서로 진행됩니다. 저장 후 종료 전까지 파티션 작업 내용은 디스크에 반영되지 않습니다. ✅ gdisk 명령어로 리눅스 파티션 설정하기 gdisk는 리눅스 시스템에서 파티션 관리에 사용되는 fdisk와…

  • RAID 구성 | RAID Level 0, 1, 4, 5, 6, 1+0, 0+1

    RAID(Redundant Array of Independent Disks 또는 Redundant Array of Inexpensive Disks)는 뜻 하는 내용처럼 여러 개의 디스크를 스토리지 하나처럼 운영하여 스토리지의 안정성을 확보하는 기술입니다. 저렴한(Independent) 디스크의 복수 배열의 뜻에서 독립적인 디스크의 복수 배열이란 뜻으로 많이 사용되고 있습니다. 이유는 단독으로 사용하기에 부족한 성능을 가진 디스크를 하나의 논리 디스크로 정렬해서 재활용하는데 목적이 있었기 때문입니다. 디스크…

  • iptables 개념과 설치 | iptables 명령어

    iptables는 netfilter.org에서  C언어로 만들어진 패킷 필터링이며 무료 방화벽 서비스입니다. 리눅스 방화벽의 기본 정책은 필요한 것을 제외한 모든 패킷에 대해 거부하는 것이 방화벽의 기본 정책입니다. 기본 설치 명령어는 다음과 같습니다. 기본 룰 설정 옵션은 다음과 같습니다. Ⅰ. iptables 용어와 기본 iptables에서는 체인[Chain]이라고 불리는 규칙[Rule]으로 패킷 필터링[Packet Filtering]을 하며, 패킷[Packet]에 대해 허용할 것인지 거부할 것인지를…

  • rm 명령어

    1. rm 명령어 ‘rm 명령어‘ 는 파일 및 디렉토리를 삭제하는 명령어이다. ‘rm 명령어’ 는 심볼릭 링크는 삭제하지만 링크의 대상 파일은 삭제하지 않는다. ls 명령어와 함께 많이 사용되는 명령어이다. rm(remove) 명령어 rm –remove 파일 및 디렉토리 삭제 ~]# rm -i –interactive 기존 파일을 삭제하기 전에 물어본다. inter:매장하다.    active:유효한,능동의 ~]# rm -r –recursive: 재귀 재귀적으로…

  • 리눅스 명령어 13가지 카테고리 분류&시스템의 이해

    리눅스의 명령줄 인터페이스(Command Line Interface, CLI)는 컴퓨터 프로그램 및 운영체제와 상호 작용하기 위한 텍스트 기반의 사용자 인터페이스입니다. 리눅스 명령어는 유닉스 계열 운영체제어서 거의 동일하게 작동하며, 명령어를 입력해서 파일의 생성, 수정, 복사 이동 및 서버 전반에 걸친 관리를 하게 됩니다. 명령어를 카테고리로 분류하지만 틀릴 수 있는 점을 참고하여 주시기 바랍니다. ✅ 리눅스 명령어 시스템의…

답글 남기기

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

Prove your humanity: 7   +   9   =