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 命令(如 cd
、open
,等等)。我的 zshrc 中的别名如下(路径被截断):alias bk='source ~/.../bookmark/bookmark.sh'
.
有什么办法可以同时满足cd
和使用less
的需要吗?
已修复!结果证明这是我脚本逻辑中的一个问题。我使用的是 condition=$(echo $result | cut -c 1-3)
,但实际上需要 $result
的前三个字符(不是列),然后我使用 $result | head -c 3
来完成。有趣的是,当由 运行 ./bookmark.sh
确定时,从 $result
获取前三列与获取前三个字符等效,但 运行 别名产生这里的问题。
我正在编写一个 bash 脚本,它需要能够在当前 shell 中 cd
并使用 less
来显示长格式文本。为了能够 cd
,我知道我在调用脚本时需要 source
脚本,这是我通过 ZSH 配置中的别名完成的。但是,当我这样做时,less
中断了:echo -e "$result" | less
不再显示其通常的滚动缓冲区,而是将长文本转储到 shell.
对于上下文,这是一个 bash 脚本,作为 Node.js 脚本的包装器,以便能够本地访问 bash 命令(如 cd
、open
,等等)。我的 zshrc 中的别名如下(路径被截断):alias bk='source ~/.../bookmark/bookmark.sh'
.
有什么办法可以同时满足cd
和使用less
的需要吗?
已修复!结果证明这是我脚本逻辑中的一个问题。我使用的是 condition=$(echo $result | cut -c 1-3)
,但实际上需要 $result
的前三个字符(不是列),然后我使用 $result | head -c 3
来完成。有趣的是,当由 运行 ./bookmark.sh
确定时,从 $result
获取前三列与获取前三个字符等效,但 运行 别名产生这里的问题。