鱼循环奇怪的行为

时间:2013-06-13 13:45:46

标签: fish

我在config.fish处有这个循环:

set W_COLS (tput cols)

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

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

1
2
3
.
.
.
80

我想并排打印这个号码,没有换行。

我尝试了echo -n $x但是这导致循环不再起作用了,我只是得到一个准系统shell:

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

为什么循环失败?

1 个答案:

答案 0 :(得分:1)

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

问题是终端窗口太窄而且由于某些无证的原因,Fish不喜欢它。解决问题

  1. 显示比终端长度少一个字符
  2. 在循环后添加换行符
  3. 所以循环看起来像

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

    主要感谢#fish

    上的adisbladis