我想以结尾带有“ ”的格式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 pipefail
为set -o localoptions -o pipefail
)。
POSIXly,你可以这样做:
pwd() (
pwd=$(command pwd "$@" && echo .) || exit
pwd=${pwd%??}
pwd=${pwd%/}/
printf '%s\n' "$pwd"
)