Forum général.général commande favorite

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
1
6
oct.
2015

Bonjour,

Existe t il une possibilité d'avoir des raccourcis, commande favorite dans le terminal.

Utilisant des commande assez longue 1 ou deux fois par mois, j'oublie à chaque fois la syntaxe.
Je me retrouve à reparcourir "history".

Du coup je me demandais si il était possible d'enregistrer des commande favorite?

  • # ctrl+r ou un alias

    Posté par  . Évalué à 4.

    trois solutions :

    1°) Ctrl+R + le debut de ta commande
    puis Ctrl+R autant de fois que necessaire pour la retrouver.

    2°) un alias dans bashrc ou dans profile
    export macommandefavorite="lacommande avec ses options avec ou sans parametres"

    3°) avoir un shell "intelligent" mais ca demande parfois de s'adapter à sa nouvelle syntaxe, qui va reconnaitre le debut de la commande et t'afficher ce qu'il trouve dans l'historique

    • [^] # Re: ctrl+r ou un alias

      Posté par  . Évalué à 2.

      2°) un alias dans bashrc ou dans profile
      export macommandefavorite="lacommande avec ses options avec ou sans parametres"

      la syntaxe est

      alias hgrep="history | grep "

      par exemple
      Très utile dans

      $>hgrep macommande
      $>!<n°commande>

      à noter qu'avec une variable HISTIGNORE bien placée, on peut éviter de mettre des commandes dans l’historique (chez moi tout ce qui commence par 3 espaces ou est une répétition de la commande précédente, ne fait pas parti de l'historique, ce qui évite de le polluer)

      Il ne faut pas décorner les boeufs avant d'avoir semé le vent

      • [^] # Re: ctrl+r ou un alias

        Posté par  . Évalué à 2.

        Pour moi HISTIGNORE est une plaie.

        Ca n'enregistre pas les commandes en échec : de ce fait, lorsque tu fais une erreur de frappe, tu es obligé de te retaper toute la commande, plutôt que de la rappeler et de corriger ce qui ne va pas.

        Alors à moins d'avoir un paramétrage qui permet de rappeler les commandes en erreur, SVP n'initialisez pas cette variable.

        • [^] # Re: ctrl+r ou un alias

          Posté par  . Évalué à 2.

          chez moi ls /ferinfiuenfr me met la commande en échec, et une flèche haut me remet bien le ls /ferinfiuenfr, et généralement, lorsque j'utilise l'ignore, c'est pour éviter qu'on puisse retrouver des mot de passes dans l'historique ou des commandes qui n'ont rien a y faire; si j'ai fait une erreur de manip, je préfère me payer un copier/coller de la commande précédente que de devoir faire un unset HISTFILE ou un history -d …

          Si je veux qu'une commande ne soit pas enregistrée, c'est le cas qu'elle soit en échec ou pas. D'ailleurs il est plus que probable que si tu utilises la conf par défaut tu ais soit HISTIGNORE soit HISTCONTROL de positionné.

          Il ne faut pas décorner les boeufs avant d'avoir semé le vent

          • [^] # Re: ctrl+r ou un alias

            Posté par  . Évalué à 2.

            Euh …?

            si j'ai fait une erreur de manip, je préfère me payer un copier/coller de la commande précédente que de devoir faire un unset HISTFILE ou un history -d …

            J'aime pas du tout le copier coller. Et certaines commandes t'effacent carrément l'écran quand tu les exécutes (si, si, j'en ai ici …).

            Entre un copier/coler et fleche haut pour modifier un caractère, je préfère largement la seconde méthode (la main ne bouge pas du clavier).

            Sinon, je viens de tester, et il n'y a pas de problème sur la machine ou je l'ai fait. Il faudrait peut-être que je creuse à savoir pourquoi dans certaines circonstances, il ne mpe rappelle pas la commande lorsque je fais un erreur de frappe. Il y a peut-être autre chose qui rentre en ligne de compte.

    • [^] # Re: ctrl+r ou un alias

      Posté par  (site web personnel) . Évalué à 2.

      1°) Ctrl+R + le debut de ta commande

      On peut aussi se souvenir d'une partie de la commande, par exemple il y avait dedans
      turlututu
      mais pas au début de la commande, dans ce cas

      !?turlututu?:p
      va placer en dernière commande de l'historique, sans l'exécuter, la commande en question, donc
      flèche en haut suivi de
      Return
      l'exécutera

      Evidemment, si on est sûr de soi

      !?turlututu
      va exécuter la dernière commande contenant la chaîne turlututu

      ウィズコロナ

    • [^] # Re: ctrl+r ou un alias

      Posté par  . Évalué à 2.

      Salut,

      3°) avoir un shell "intelligent" mais ca demande parfois de s'adapter à sa nouvelle syntaxe, qui va reconnaitre le debut de la commande et t'afficher ce qu'il trouve dans l'historique

      J'avais ça dans mon pense bête :

      Il est souvent fastidieux de retrouver une commande via l'historique des commandes (flèches haut et bas). Cette petite astuce permet de retrouver les commandes plus rapidement juste en tapant le début de la commande et ensuite à l'aide des flèches haut et bas de faire défiler seulement les commandes se référant aux premières lettres tapées.

      Créer le fichier ~/.inputrc dans son /home/$USER et y coller :

      "\e[A": history-search-backward
      "\e[B": history-search-forward

      et depuis que je l'ai découvert je ne peux plus m'en passer.

  • # Merci

    Posté par  . Évalué à 2.

    Merci à vous tous pour ces idées et réponses.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.