Bash에서 공백이있는 전달 파일 이름을 처리하는 방법



문제를 제거하기 위해 도구를 사용해보십시오

Linux에는 시스템에 대한 명령을 실행하기위한 기본 셸 Bash (일명 Bourne 셸)가 있습니다. 대부분의 프로그래머는 bash가 제공하는 유연성과 강력한 명령 줄 인터프리터 때문에 cmd보다 bash를 선호합니다. 그러나 대부분의 사용자는 bash에서 공백이있는 파일 이름 전달을 처리하는 동안 여전히 문제가 있습니다. bash에서는 공백이 파일 이름과 동일하게 간주되지 않기 때문입니다.



이름에 공백이있는 파일



공백이있는 파일 이름이 Bash에서 인식되지 않는 이유는 무엇입니까?

Bash에서 여러 단어를 입력하면 탈출 문자 () 또는 인용 , 모든 단어를 인수로 간주합니다. 이는‘로 디렉토리를 변경하든 관계없이 모든 작업에 적용됩니다. CD ‘또는‘로 파일에 액세스하려고합니다. 고양이 ‘명령. 이것을 사용한 후에 작성한 모든 것은 인수로 간주됩니다. 예를 들면 :



고양이 파일 name.txt

이스케이프 문자 또는 따옴표를 사용하지 않고 명령 실행

노트 : 파일 이름은 무엇이든 될 수 있지만이 기사에서는 ' 파일 name.txt ' 예로서.

여기 ' 고양이 ‘명령은 파일이름 단일 인수가 아닌 두 인수로. 그러나 이스케이프 문자 나 따옴표를 사용하는 경우 bash 쉘은이를 단일 인수로 간주하여 ' 파일 name.txt '.



Bash에 공백이있는 파일 이름

이름의 공백에 사용할 수있는 방법은 거의 없습니다. 가장 좋은 방법은 나중에 파일 이름에 공백을 사용하지 않는 것입니다. 간단한 방법은 액세스하려는 파일의 이름을 바꾸고 공백을 제거하는 것입니다. 일부 다른 방법은 공백이있는 파일 이름에 작은 따옴표 또는 큰 따옴표를 사용하거나 공백 바로 앞에 이스케이프 () 기호를 사용합니다. 우리는 그것이 어떻게 작동하는지 보여주기 위해 적용된 예제와 함께 방법을 제공 할 것입니다.

방법 1 : 작은 따옴표 및 큰 따옴표 사용

  1. 보류 Ctrl + Alt 키와 누르기 열기 위해 단말기 .
  2. 이제 파일이있는 디렉토리로 변경하십시오.
    (당신은 또한 수 견인하락 명령 '뒤에 터미널에있는 파일 고양이 ‘, 파일 경로 / 디렉토리에 자동으로 인용 부호를 넣습니다)

    cd 데스크탑

    디렉토리 변경

    노트 : 액세스하려는 위치로 데스크톱을 변경할 수 있습니다.

  3. 이름에 공백이있는 텍스트 파일을 읽으려면 다음 명령을 입력하십시오.
    cat 'file name.txt'

    또는

    cat 'file name.txt'

    이름 오류에 공백을 피하기 위해 따옴표 사용

  4. 작은 따옴표와 큰 따옴표는 동일하게됩니다. 경우에 따라 두 가지를 모두 시도하고 어떤 것이 작동하는지 확인해야합니다.

방법 2 : 백래시 이스케이프 문자 사용

  1. 보류 Ctrl + Alt 키와 누르기 열기 위해 단말기 .
  2. 다음 명령을 사용하여 파일이있는 디렉토리로 변경합니다.
    cd 데스크탑

    노트 : Desktop 대신 위치 이름을 입력합니다.

  3. 이제 명령을 입력하고 탈출 이름에 공백이있는 문자 :
    고양이 파일  name.txt

    이스케이프 문자를 사용하여 공백 오류 방지

보너스 : 인용문 사용 및 탈출

명령에서 디렉토리를 사용할 때 전체 경로에 따옴표를 사용하면 결과가 발생할 수 있습니다. 이는‘ mv ‘또는‘ cp ‘경로를 파일 소스 인용문이 전체적으로 사용되는 경우. 둘 다에 대한 견적을 제공해야합니다. 출처목적지 개별적으로‘ cp ‘제대로 작동 할 수 있습니다. 경로에 이스케이프 문자를 사용하는 것이 훨씬 더 복잡하고 사용자가 실수를 할 수 있음을 보여주는 아래 예제를 확인할 수도 있습니다.

따옴표와 이스케이프 문자의 차이점

2 분 읽기