특수 문자로 시작하는 디렉토리 내의 파일에 명령을 사용하는 방법은 무엇입니까?

특수 문자로 시작하는 디렉토리 내의 파일에 명령을 사용하는 방법은 무엇입니까?

이것Angular 2 스타일 규칙지연 로딩을 나타내는 폴더는 +더하기 기호( )로 시작해야 합니다.

이는 실행 시에는 잘 작동 cd +directory/하지만, 이러한 디렉터리 내의 파일에 외부적으로 명령을 사용할 때 문제가 발생합니다. vim +folder/file.ts작동하지 않습니다. 기본 디렉토리에서 작업을 수행할 때 디렉토리에 있는 git rm --cached **/*.js*.+

개념을 포기할 수도 있지만 +directory컨벤션에 감사드립니다.

특수 문자로 시작하는 디렉토리 내의 파일에 명령을 사용하는 방법은 무엇입니까?

답변1

많은 명령( head/ tail, sort, sh... vim)은 +특수 문자로 시작하는 인수를 처리하므로 특수 문자를 파일 이름의 첫 번째 문자로 사용하는 것은 좋은 생각이 아닙니다. -보다 일반적으로 사용되는 옵션 리더 역할도 마찬가지 입니다.

for 와 마찬가지로 특별한 처리를 -피하기 위해 접두사를 +사용할 수 있습니다 ./. ./+foo로 시작하지 않는 또 다른 경로입니다 . 이 팁은 매개변수가 내용에 따라 다르게 처리되는 다른 경우에도 유용합니다. 예를 들어 ImageMagick 명령에 파일 이름이나 파일 이름을 포함하면 도움이 됩니다.+foo+./awk=awk 1 a=bawk 1 ./a=b:

+x옵션으로 인식되는 일부 명령의 경우 --옵션 끝을 표시하는 것도 도움이 될 수 있습니다. 일반적으로 prefixes 보다 적은 경우에 작동합니다 ./.

답변2

프로그램이 명령줄 인수를 (잠재적인) 옵션으로 해석하는 것을 중단하고 이를 --"실제" 옵션 다음에 사용하는 파일로 처리하기 시작해야 하는 경우:

vim -- +folder/file.ts
gif rm --cached -- **/*.js*

모든 프로그램이 이를 구현하는 것은 아니지만 대부분의 최신 프로그램은 이를 구현합니다.

관련 정보