홈페이지 » 어떻게 » Bash 쉘의 단일 및 이중 인용의 차이점은 무엇입니까?

    Bash 쉘의 단일 및 이중 인용의 차이점은 무엇입니까?

    텍스트를 따옴표로 묶는 것은 명령 줄에서 상당히 표준적인 방법이며 특히 이름에 공백이있는 파일을 다루는 경우에는 큰 따옴표로 묶을 지 어떻게 알 수 있습니까? 차이점을 살펴 보겠습니다. 한 쪽과 다른 쪽을 사용해야 할 때.

    일반적으로 큰 따옴표는 따옴표 내에서 변수를 확장 할 수 있으며 작은 따옴표는 따옴표 안에 포함되지 않습니다. 계속 읽으세요.

    간단한 텍스트로 인용

    단순히 몇 마디의 텍스트를 감싸고 있다면 실제로 사용하는 것은 중요하지 않습니다. 둘 다 똑같이 작동하기 때문입니다. 예를 들어,이 두 명령은 모두 Test Directory라는 디렉토리를 만듭니다.

    mkdir "테스트 디렉토리"
    mkdir '테스트 디렉토리'

    숙련 된 유형은 아마도 원한다면 mkdir Test \ Directory를 사용할 수도 있음을 알 수 있습니다.

    셸 변수 확장

    명령 줄에서 변수를 처리 할 때 작은 따옴표와 큰 따옴표 사이의 차이가 더 중요해진다. 기본적으로 bash는 $ test와 같은 변수를 전체 문자열로 확장합니다. 먼저 변수를 할당합니다.

    test = "이것은 테스트입니다"

    이제이 변수를 명령 줄에서 사용할 수 있습니다. 이렇게하면 간단히 출력해야합니다. 이것은 시험이다. 콘솔에

    echo $ test

    이중 따옴표와 작은 따옴표의 차이점이 더 명확 해집니다. 작은 따옴표를 사용하면 변수가 확장되지 않습니다. 예를 들어, 다음 명령을 실행하면 :

    echo '$ test'

    작은 따옴표를 사용하면 명령 줄에 '$ test'가 표시되지만 따옴표를 사용하면 제대로 출력됩니다.

    명령 행에서 '문자를 사용하여 명령을 확장 할 때도 똑같은 기능이 작동합니다. 예를 들어, pwd 다른 커맨드 내에서 커맨드 - 당신은 커맨드를 사용하여 쉘에게 그것을 확장하도록 말할 것입니다 :

    에코 'pwd'/ 테스트

    홈 폴더에 있다면 다음과 같은 결과를 볼 수 있습니다 :

    / home / geek / test

    예를 들어, 경로에 공백이있는 폴더에 있고 ln 명령을 사용하여 현재 디렉토리의 파일에 대한 기호 링크를 작성하려고한다고 가정 해보십시오. 일반적으로 ln 명령을 사용할 때는 전체 경로를 지정해야하므로 타이핑을 저장하는 데 'pwd'를 사용하는 것이 훨씬 쉽습니다..

    따옴표로 묶지 않고 명령을 사용하려고하면 어떻게되는지보십시오.

    ln -s 'pwd'/ test / home / geek / linkedname

    대신 따옴표로 묶어야합니다.

    ln -s " 'pwd'/ filename"/ some / other / path

    보다 구체적인 예를 들어,이 예와 같이 모든 파일 이름에 공백이있는 폴더 구조가 있다고 가정 해 보겠습니다.

    unzip 명령은 모든 파일에 대해 *를 사용하여 실행하는 것을 지원하지 않으므로 대신 for 명령을 사용해야합니다. 흥미로운 부분은 다음과 같습니다.

    f in * .zip; 압축 해제 $ f; 완료

    죄송합니다. 작동하지 않는 것 같습니다..

    대신 우리가해야 할 일은 다음과 같이 $ f 변수 주위에 큰 따옴표를 사용하는 것입니다.

    * .zip에서 f를 위해, "$ f"를 압축 해제하십시오; done

    이제 for 명령이 루프를 통과 할 때마다 실제로 다음 명령을 실행합니다.

    압축을 풉니 다. "테스트 1.zip"

    물론 루프를 통해 디렉토리의 모든 파일에 대해 비슷한 명령을 실행합니다..

    복습 해보자

    이제 예제를 살펴 보았으므로 놓친 경우를 대비하여 곧 검토 할 것입니다.

    큰 따옴표

    • 변수를 묶거나 문자열 내에서 쉘 확장을 사용하려는 경우에 사용하십시오..
    • 모든 문자는 $ 또는 '를 제외한 일반 문자로 해석되어 쉘에서 확장됩니다.

    작은 따옴표

    • 작은 따옴표 안에있는 모든 문자는 문자열 문자로 해석됩니다..

    따라서 따옴표의 교훈은 끝납니다. 그들을 현명하게 사용하십시오..