0

我有这个循环config.fish

set W_COLS (tput cols)

for x in (seq $W_COLS)
  echo $x
end

这很好用,迭代了我终端的宽度。我得到并输出:

1
2
3
.
.
.
80

我想并排打印数字,不换行。

我试过这样做echo -n $x,但这导致循环不再工作,我只是得到一个准系统外壳:

Welcome to fish, the friendly interactive shell
Type help for instructions on how to use fish
>

为什么循环失败?

4

1 回答 1

1

一个小问题上下文:这发生在fish_prompt函数内部。该函数在直接调用时有效,但在作为提示符调用时无效。

问题是终端窗口太窄了,Fish 由于一些未记录的原因不喜欢它。解决问题

  1. 显示比终端长度少一个字符
  2. 在循环之后放置一个换行符

所以循环看起来像

for x in (seq (math $W_COLS - 1))
    echo -n '-'
end
echo

主要感谢 #fish 上的 adisbladis

于 2013-06-13T14:36:51.953 回答