pwd는 후행 "/"를 사용하여 현재 경로를 반환합니다.

pwd는 후행 "/"를 사용하여 현재 경로를 반환합니다.

끝에 " " 가 있는 형식 으로 반환 하고 싶습니다 pwd. 이것을 달성하는 방법에 대한 아이디어가 있습니까?/path/to/dir/path/to/dir//

답변1

를 사용하면 다음과 같이 bash4.4+재정의할 수 있습니다 pwd.

pwd() {
  local -
  set -o pipefail
  builtin pwd "$@" | sed '${/\/$/!s|$|/|;}'
}

/즉, 현재 작업 디렉터리의 마지막 줄이 아직 존재하지 않으면 마지막 줄(예: after cd /)에 추가되고 옵션을 통해 원래 종료 상태가 반환됩니다 pipefail(이 기능에만 사용됨 local -).

( 로 zsh교체, ).local -; set -o pipefailset -o localoptions -o pipefail

POSIXly에서는 다음과 같이 할 수 있습니다.

pwd() (
  pwd=$(command pwd "$@" && echo .) || exit
  pwd=${pwd%??}
  pwd=${pwd%/}/
  printf '%s\n' "$pwd"
)

관련 정보