마지막으로 수정된 디렉터리를 입력하세요.

마지막으로 수정된 디렉터리를 입력하세요.

어떤 명령을 사용하여 다음을 수행할 수 있습니까?

  • 현재 디렉토리에 마지막으로 수정된 디렉토리를 입력하세요.
  • 디렉터리가 존재하지 않거나 입력할 수 없는 경우 아무 작업도 수행되지 않습니다.

ca적어도 and, 가능하다면 and zsh에서도 작동하는 별칭을 찾고 있습니다 .bashash

답변1

가능한 해결책은 다음과 같습니다.

alias ca='cd $(find . -maxdepth 1 -type d -printf "%T@ %p\n" | sort -n | tail -1 | cut -d" " -f2-)'

그러나 다음과 같은 문제가 있습니다.

  • find이와 같은 것을 사용하지 않고 직접 출력을 사용하면 print0이름에 공백이 있는 디렉터리가 올바르게 처리되지 않습니다.
  • 이것이 마지막으로 수정된 디렉토리인 경우 .를 입력하십시오 ..

답변2

내가 아는 한 이것은 작동해야 합니다( 별칭은 아니지만 zsh).bash

ca() { 
  local dir newer

  for dir in ./*; do
    if [[ ! -d "${dir}" ]]; then
      continue
    fi
    if [[ "${dir}" -nt "${newer}" ]]; then
      newer="${dir}"
    fi
  done

  if [[ -x "${newer}" ]]; then
    cd -- "${newer}"
  fi
}

관련 정보