Fish-shell: `Commande occasionnelle : option inconnue "-q"`

Créé le 14 févr. 2017  ·  3Commentaires  ·  Source: fish-shell/fish-shell

  • [x] Avez-vous vérifié si un problème survenait avec fish 2.5.0 ?
  • [ ] Essayé du poisson sans personnalisations tierces (vérifier sh -c 'env HOME=$(mktemp -d) fish' ) ?

version poisson installée ( fish --version ) :

2.5.0

OS/terminal utilisé :

Arch Linux. URxvt

Après avoir utilisé la session fish shell pendant un certain temps, il entre dans un état où command intégré échoue chaque fois que l'option -q est utilisée. Cela peut être remarqué en annulant la ligne de commande (qui appelle 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.
       ...

Cela peut être reproduit facilement une fois que le poisson entre dans cet état en utilisant :

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

Le problème ne se manifeste pas dans la nouvelle session de poisson et je ne sais pas ce qui déclenche ce comportement. Comment puis-je déboguer cela davantage ?

question

Tous les 3 commentaires

Cette option a été ajoutée via #3591 et est incluse dans la version 2.5.0.

La cause la plus probable est que vous exécutez un poisson plus ancien qui se charge dans les scripts les plus récents - echo $FISH_VERSION devrait le confirmer. La solution est d'arrêter de faire ça.

Edit: Ce que je veux dire, c'est que cela devrait s'éclaircir une fois que vous avez quitté les anciennes instances et en avez démarré de nouvelles. Par exemple, cela devrait disparaître complètement après le redémarrage.

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

Apparemment c'est ça le problème. Merci.

Déplaçons le résumé vers FAQ ou Wiki.
Cela m'a juste mordu après la mise à niveau 2.4.0 à 2.6.0.

Cette page vous a été utile?
0 / 5 - 0 notes