Bash를 사용하여 Linux에서 '-p'라는 디렉토리를 만드는 방법은 무엇입니까? [복제]


22

Bash에서 -p? 라는 디렉토리를 어떻게 만들 수 있습니까?

mkdir -p실패한.
mkdir "-p"실패한.
mkdir "\-p"실패한.
mkdir \-p실패한.


1
이들 모두가 bash에 대한 매개 변수를 이스케이프하려고합니다. 이스케이프되지 않은 것과 동일하게 이스케이프되므로 세 번째를 제외하고는 모두 "-p"문자열을 mkdir로 보내면 옵션으로 구문 분석됩니다. 옵션 구문 분석은 bash에서 수행되지 않으므로이 문제를 해결하는 방법은 (아래 답변에 설명되어 있음) mkdir의 기능입니다 (또는 버그가 없음).
Score_Under

11
왜 그런 디렉토리를 원하는지 물어봐야합니다. 사용하는 것이 PITA 일 것입니다.
Daniel R은

3
@DanielRHicks : 실수로이 폴더를 만들었지 만 삭제 방법을 모릅니다.
Jichao

4
그렇다면 "Bash를 사용하는 Linux에서 '-p'라는 디렉토리를 삭제하는 방법"이라는 질문이 아닌가?
chepner

@ chepner : 실제로 동일한 문제이기 때문에. 디렉토리를 삭제하려고 시도했지만 rmdir동일한 오류로 실패했습니다.
Jichao

답변:


40

대부분의 유틸리티 (를 제외한 모든 POSIX 준수 것들 testecho)는 지원 옵션 "옵션의 끝을" -- 당신이 실행할 수 있도록 :

mkdir -- -p

대시로 시작할 수있는 파일의 이름을 바꾸거나 제거 할 때 특히 유용합니다. 스크립트에서는 항상 사용해야합니다

mv -- "$filename"

mv "$filename"인용되지 않은 일반 파일 이름 대신에


3
대단해 이 점을 정말 잘 알고 있습니다
Bruno9779

18

mkdir ./-p

대부분의 다른 프로그램은 동일한 "트릭"을 사용해야합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.