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"
)

相关内容