다음과 같은 디렉토리가 있습니다.
-2
CD에 넣고 싶지만 CD가 불평합니다.
bash: cd: -2: invalid option
성공하지 못했습니다.
cd "-2"
cd '-2'
cd \-2
어떤 해결책?
편집 : 서버에서 mc 등과 같은 파일 브라우저를 사용할 수 없습니다.
다음과 같은 디렉토리가 있습니다.
-2
CD에 넣고 싶지만 CD가 불평합니다.
bash: cd: -2: invalid option
성공하지 못했습니다.
cd "-2"
cd '-2'
cd \-2
어떤 해결책?
편집 : 서버에서 mc 등과 같은 파일 브라우저를 사용할 수 없습니다.
답변:
적어도 두 가지 방법 :
--
인수를 사용하십시오 .
cd -- -2
이것은 GNU 도구에 공통적 인 규칙을 사용하는데, 이는 --
명령 행 옵션으로 나타나는 것을 처리하지 않습니다 .
A와 주석이 언급 한,이 규칙은 또한 POSIX 표준에 정의 :
기본 동작 : 이 섹션이 "없음"으로 표시되면 구현이 옵션을 지원할 필요가 없음을 의미합니다. 옵션을 허용하지 않지만 피연산자를 허용하는 표준 유틸리티는
"--"
버릴 첫 번째 인수로 인식해야 합니다.인식을위한 요구 사항
"--"
은 적합한 응용 프로그램은 구현이 확장으로 제공 할 수있는 임의의 옵션으로부터 피연산자를 보호 할 수있는 방법이 필요하기 때문입니다. 예를 들어 표준 유틸리티 foo가 옵션을 사용하지 않는 것으로 표시되고 응용 프로그램에서 하이픈이있는 경로 이름을 지정해야하는 경우 다음과 같이 안전하게 수행 할 수 있습니다.foo -- -myfile
-m 확장으로 사용되는 문제를 피하십시오 .
뿐만 아니라 :
지침 10 :
인수--
는 옵션의 끝을 나타내는 구분자로 받아 들여 져야합니다. 다음 인수는'-'
문자로 시작하더라도 피연산자로 취급되어야합니다 .--
인수는 옵션 또는 피연산자로 사용할 수 없습니다.
경로를 명시 적으로 지정하십시오.
cd ./-2
현재 디렉토리 ( .
)를 명시 적으로 명명하는 경로를 시작점 으로 지정합니다 .
cd $(pwd)/-2
cd /absolute/path/to/-2
이것들은 위의 변형입니다. 임의의 수의 이러한 변형이 가능할 수있다; 나는 그것들을 모두 발견하기 위해 독자에게 연습으로 남겨 두겠습니다.
cd
합니다 " 페이지 에서 cd
.
"hello world"
하나의 주장이지만 hello world
두 가지이며 "-2"
동일합니다 -2
.
cd -- --
또는 cd ./--
작동해야합니다.
이 질문에 이미 답변 된 것을 알고 있습니다. 누구든지 내 상황과 같은 상황이라면 다음과 같습니다.
Java 앱을 실행하고로 시작하는 디렉토리를 찾고 있었으므로 <path>
앱을 실행하기 전에 해당 경로를 올바른 경로로 바꿔야했습니다. 그러나 나는 그것을 잊었다. 앱이라는 디렉토리를 만들었습니다 <path>
.
나는 cd <path>
"-bash : 예기치 않은 토큰 줄 바꿈 근처의 구문 오류"라는 오류를 보려고 시도했다 cd -- <path>
. 그러나 같은 오류가 발생했습니다.
내가 시도했을 때 cd \<path>\
-이것은 효과가 있었다!
배경 정보:
"<"및 ">"기호는 STDIN 및 STDOUT을 경로 재지 정하는 데 사용되므로 쉘이 경로 재 지정으로 해석하지 않도록하려면 이스케이프해야합니다.