cd를 입력하지 않고 디렉토리를 변경 하시겠습니까?


17

같은 명령없이 해당 디렉토리를 입력하여 명령 줄에서 bash 변경 디렉토리를 만들 수 cd있습니까?

예를 들어 이것을 쓰는 대신 가능합니다 :

$ cd /tmp

나는 단지 이것만을 쓰고 싶다.

$ /tmp

즉, 디렉토리를 응용 프로그램으로 호출하면 해당 디렉토리를 작동하는 디렉토리로 설정하려고합니다.


9
배쉬가되어야합니까? zsh는 그것을 할 수있다 ( autocd)
Michael Mrozek

1
아니오-아니요, bash에서 해결책이 필요합니다. =) 그것은 냉랭한 러시아의 일부 과학 기관 에서처럼 스크립팅 언어로 bash 만있는 유물이 있습니다.)
Vladimir

"cd"를 입력하지 않으면 저장된 입력량은 경로에 대한 기본 자동 완성 기능이 없어 상쇄 될 수 있습니다. 또한 디렉토리를 변경하는 것처럼 디렉토리를 변경하는이 방법은 우연히 (잠재적으로 디렉토리라고 생각하는) (잠재적으로 악의적 인) 프로그램을 실행하는 것이 매우 무서워집니다.
마이클

그것은
ZSH

답변:


36

bash에는 autocd옵션 도 있습니다. 다음을 사용하여 활성화 할 수 있습니다 shopt -s autocd.

pbm@tauri ~ $ shopt -s autocd
pbm@tauri ~ $ django # Now just type this
cd ./django    <- it's done automatically
pbm@tauri ~/django $

2
대화식 사용을 위해 bash 4에서 내가 가장 좋아하는 새로운 기능. (스크립트의 경우는 **입니다.) 불행히도 이전 버전이 아닙니다.
Gilles 'SO- 악마 중지

0

나는 그렇게 상상할 것이다. 우분투에는 포괄 메커니즘이 있습니다. 시스템에없는 명령을 실행하면 때때로 다음과 같이 표시됩니다.

'foo'명령을 찾지 못했습니다 : ...

나는 그것이 무엇이든 하이재킹하고 디렉토리가 있는지 확인하기 위해 체크를 추가 할 수 있습니다. 그게 무엇인지 묻는 또 다른 질문을 게시하는 것이 좋습니다.

편집 : 발견 : https://wiki.ubuntu.com/CommandNotFoundMagic


네, 그것은 순진하게 기대할 것입니다. 그러나 bash는 우리보다 똑똑하고 디렉토리에 대해 command_not_found_handle을 호출하지 않습니다 :(
Thomas Themel

약간의 연구를 한 후에 나는 그것을 고칠 수 있는 작은 패치 ( mail-archive.com/bug-bash@gnu.org/msg06761.html )를 발견 했습니다. 불행히도이 패치는 비공식적이므로 우분투와 함께 제공되는 bash 버전을 사용할 수 없습니다.
Vladimir
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.