shopt -s autocd를 사용할 때 주의 사항이 있나요?

shopt -s autocd를 사용할 때 주의 사항이 있나요?

최근에 이 기능을 발견했습니다 shopt -s autocd.

          autocd  If  set,  a command name that is the name
                  of a directory is executed as if it  were
                  the argument to the cd command.  This op‐
                  tion is only used by interactive shells.

언뜻 보면 유용할 것 같지만 저는 Bash 전문 사용자가 아니고 사용하는 것이 실수가 아닐까 싶습니다.

설정이 잠재적으로 위험합니까 shopt -s autocd? 저는 특히 스크립팅과 다른 애플리케이션 또는 구성과의 충돌에 관심이 있습니다.

답변1

나는 일어 서서 적어도 심각한 경고없이 거절 할 것입니다. 그 이유 autocd는 기본값이 아니고 위험하기 때문이 아닙니다. 그러나 셸의 기본값은 스크립팅 동작이고 autocd유일한 목적은 입력을 절약하는 것이기 때문에 스크립트에서 실제로 사용되지 않기 때문입니다.

대화형 구성에서 설정한 옵션(예 .bashrc: .zshrc)은 스크립트에 영향을 주지 않습니다. 어떤 응용 프로그램과도 충돌하지 않습니다.

이론적으로 일부 다른 구성이 이 구성과 충돌할 수 있지만 autocd그럴 가능성은 거의 없습니다. 기껏해야 사용할 때 작동하지 않는 구성이 발생할 수 있지만 autocd, 그래도 합리적인 예가 즉시 떠오르지는 않습니다.

명령 이름은 항상 디렉터리 이름보다 우선합니다. 예를 들어, 라는 디렉토리가 있는 경우 ls실행하면 대신 ls해당 명령이 호출됩니다 . 따라서 명령 이름을 잘못 입력하여 디렉터리 이름과 일치하지 않는 한 명령을 실행하는 대신 실수로 디렉터리를 변경할 위험이 없습니다.lscd ls

디렉터리 이름을 잘못 입력했는데 입력한 내용이 명령 이름인 경우 해당 디렉터리로 변경하지 않고 실수로 명령을 실행할 위험이 있습니다. 이는 거의 문제가 되지 않습니다.

그만한 가치가 있기 때문에 나는 그것을 autocd수년 동안 사용해 왔으며 나에게 그것은 bash에 없었을 때 zsh의 주요 판매 포인트 중 하나였습니다.

관련 정보