Fish-shell: Gelegentlicher `Befehl: Unbekannte Option „-q“`

Erstellt am 14. Feb. 2017  ·  3Kommentare  ·  Quelle: fish-shell/fish-shell

  • [x] Haben Sie überprüft, ob das Problem mit fish 2.5.0 auftritt ?
  • [ ] Fisch ohne Anpassungen von Drittanbietern ausprobiert (siehe sh -c 'env HOME=$(mktemp -d) fish' ) ?

Fischversion installiert ( fish --version ) :

2.5.0

Verwendetes Betriebssystem/Terminal :

Arch-Linux. URxvt

Nach der Verwendung von Fisch - Shell - Sitzung für während bekommt es in einen Zustand , wenn command in gebaut versagt , wenn -q Option verwendet wird. Dies kann beim Abbrechen der Befehlszeile bemerkt werden (die command -sq aufruft).

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.
       ...

Dies kann leicht reproduziert werden, sobald der Fisch in diesen Zustand gelangt mit:

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”
...

Das Problem manifestiert sich nicht in einer neuen Fischsitzung und es ist mir nicht bekannt, was dieses Verhalten auslöst. Wie kann ich das weiter debuggen?

question

Alle 3 Kommentare

Diese Option wurde über #3591 hinzugefügt und ist in der Version 2.5.0 enthalten.

Die wahrscheinlichste Ursache ist, dass Sie einen älteren Fisch ausführen, der in den neueren Skripten geladen wird - echo $FISH_VERSION sollte dies bestätigen. Die Lösung ist, damit aufzuhören.

Bearbeiten: Was ich meine, ist, dass sich dies von selbst auflösen sollte, sobald Sie die alten Instanzen beenden und neue starten. Diese sollte zB nach einem Neustart komplett verschwinden.

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

Scheint das Problem zu sein. Vielen Dank.

Verschieben wir die Zusammenfassung nach FAQ oder Wiki.
Das hat mich nach dem Upgrade von 2.4.0 auf 2.6.0 gebissen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen