cp 명령과 함께 사용하기 위해 왼쪽 및 오른쪽 대괄호 []를 어떻게 이스케이프합니까?

cp 명령과 함께 사용하기 위해 왼쪽 및 오른쪽 대괄호 []를 어떻게 이스케이프합니까?

일부 디렉터리를 찾은 다음 해당 내용을 다른 디렉터리에 복사하는 스크립트가 있습니다.

이제 문제는 발견된 일부 디렉토리의 이름에 괄호가 있어야 한다는 것입니다. 그 이름은 다음과 같습니다.

/directory/with/[brackets]

cp가 다음과 같이 복사하려고 하면 해당 파일이나 디렉터리가 존재하지 않는다는 메시지가 나타납니다.

cp -r /directory/with/[brackets]/* /some/other/directory

이제 작동하려면 대괄호를 이스케이프 처리해야 한다는 것을 알았으므로 간단한 해결책만 있으면 됩니다.

답변1

기본적으로 두 가지 옵션이 있습니다.

  1. 인용 이스케이프를 사용하세요:

    cp -r "/directory/with/[brackets]"/* /some/other/directory
    

    또는

    cp -r '/directory/with/[brackets]'/* /some/other/directory
    
  2. 백슬래시 이스케이프를 사용합니다.

    cp -r /directory/with/\[brackets\]/* /some/other/directory
    

관련 정보