Sourcing Alias 防止显示较少的缓冲区

Sourcing Alias Prevents Less Buffer From Displaying

我正在编写一个 bash 脚本,它需要能够在当前 shell 中 cd 并使用 less 来显示长格式文本。为了能够 cd,我知道我在调用脚本时需要 source 脚本,这是我通过 ZSH 配置中的别名完成的。但是,当我这样做时,less 中断了:echo -e "$result" | less 不再显示其通常的滚动缓冲区,而是将长文本转储到 shell.

对于上下文,这是一个 bash 脚本,作为 Node.js 脚本的包装器,以便能够本地访问 bash 命令(如 cdopen,等等)。我的 zshrc 中的别名如下(路径被截断):alias bk='source ~/.../bookmark/bookmark.sh'.

有什么办法可以同时满足cd和使用less的需要吗?

已修复!结果证明这是我脚本逻辑中的一个问题。我使用的是 condition=$(echo $result | cut -c 1-3),但实际上需要 $result 的前三个字符(不是列),然后我使用 $result | head -c 3 来完成。有趣的是,当由 运行 ./bookmark.sh 确定时,从 $result 获取前三列与获取前三个字符等效,但 运行 别名产生这里的问题。