Fish-shell: Редкая команда `: Неизвестный параметр« -q »`

Созданный на 14 февр. 2017  ·  3Комментарии  ·  Источник: fish-shell/fish-shell

  • [x] Вы проверяли, возникает ли проблема с fish 2.5.0 ?
  • [] Пробовали фиш без сторонних настроек (отметьте sh -c 'env HOME=$(mktemp -d) fish' ) ?

Установленная версия fish ( fish --version ) :

2.5.0

Используемая ОС / терминал :

Arch linux. URxvt

После использования сеанса рыбной оболочки в течение некоторого времени он переходит в состояние, когда встроенный command дает сбой всякий раз, когда используется опция -q . Это можно заметить при отмене командной строки (которая вызывает command -sq ).

ogondza<strong i="24">@arch</strong> ~ $ date
2017-02-14 15:01:20
# Up and Ctrl + C
ogondza<strong i="25">@arch</strong> ~ $ datecommand: Unknown option “-sq”
/usr/share/fish/functions/__fish_cancel_commandline.fish (line 12):         if command -sq tput
                                                                               ^
in function “__fish_cancel_commandline”
    called on standard input


       command -- run a program

   Synopsis
       command [OPTIONS] COMMANDNAME [ARGS...]

   Description
       ...
       Additionally passing a -q or --quiet option prevents any paths from
       being printed, like the type -q, for testing only the exit status.
       ...

Это можно легко воспроизвести, когда рыба войдет в это состояние, используя:

ogondza<strong i="29">@arch</strong> ~ $ type command
command is a builtin
ogondza<strong i="30">@arch</strong> ~ $ command -s test
/usr/bin/test
ogondza<strong i="31">@arch</strong> ~ $ command -s -q test
command: Unknown option “-q”
...

Проблема не проявляется в новой сессии рыбалки, и мне неизвестно, что вызывает такое поведение. Как я могу отладить это дальше?

question

Все 3 Комментарий

Эта опция была добавлена ​​через # 3591 и включена в выпуск 2.5.0.

Наиболее вероятная причина заключается в том, что вы используете более старую рыбку, которая загружается в более новых скриптах - echo $FISH_VERSION должен подтвердить это. Решение - прекратить это делать.

Изменить: я имею в виду, что это должно очиститься, как только вы выйдете из старых экземпляров и запустите новые. Например, это должно полностью исчезнуть после перезагрузки.

ogondza<strong i="5">@arch</strong> ~ $ fish -version
fish, version 2.5.0
ogondza<strong i="6">@arch</strong> ~ $ echo $FISH_VERSION 
2.4.0

Кажется, в этом проблема. Спасибо.

Переместим резюме в FAQ или Wiki.
Это просто укусило меня после обновления с 2.4.0 до 2.6.0.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги