Journal Args parser pour shell

Posté par  . Licence CC By‑SA.
Étiquettes :
24
15
fév.
2024

Bonjour à tous,

Vous écrivez des scripts shell mais vous trouvez que la gestion des options et arguments ainsi que de l'aide n'est pas leur point fort.
Pour pallier a ça j'ai fais une petite lib à sourcer dans vos scipts shell (dash, bash, zsh, ksh testés) pour gérer ceci.

Elle fonctionne un peu à la manière de argparse sous python et intègre une option pouir générer des script de complétion pour bash et zsh.
Elle est disponible ici (…)

Forum Programmation.shell Recherche d'une fonctionnalité zsh / bash

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
3
28
oct.
2022

Bonjour,

Il y a fort longtemps, quand j'utilisais zsh comme shell principal, j'usais et abusais d'une fonctionnalité très pratique qui permettait de mettre de coté la ligne de commande courante pour pouvoir en faire une autre. Une fois la 2ème commande exécutée, la ligne de commande n°1 était restaurée.

Je trouve ça pratique car souvent, quand il me manque une info pour compléter une commande en cours. Je n'ai pas d'autre choix que d'annuler la commande pour lancer la commande (…)

Journal fzf et mon terminal

Posté par  . Licence CC By‑SA.
Étiquettes :
4
10
mai
2021

Je suis un fanatique de la cli et par cli j'entends bien l'utilisation de ligne de commandes. En effet j'utilise très peu d'outils curse (vim et htop principalement). Je sais que ça fait rêver certains, mais moi je déteste même l'autocomplétion de zsh via un menu.

Outre le coté purement subjectif de ce que l'on aime ou pas, il y a une raison tout à fait objective. La cli est répétable et scriptable ce qui ne fonctionne généralement pas bien (…)

Journal Petite astuce zsh

Posté par  . Licence CC By‑SA.
Étiquettes :
36
14
août
2020

Besoin

J'utilise massivement mon shell et j'utilise assez fréquemment la commande watch. Elle me permet de faire des petits monitoring du pauvre par exemple :

watch -n1 "ls /toto/tata

Va vous montrer chaque second le contenu du dossier /toto/tata.

Ce que j'aime bien avec le shell, c'est que je construit incrémentalement des commandes complexes qui peuvent finir par avoir des formes plus ou moins complexes :

ma_commande | awk '$4!=3&&/toto/{a+=1;print $6}END{print "count:",a}'

Une fois que ma commande est (…)

Journal Restaurer l’historique de zsh

Posté par  . Licence CC By‑SA.
Étiquettes :
13
25
déc.
2019

Il y a quelques jours, mon historique zsh a apparemment été vidé, peut‑être à cause d’une fausse manip dont je parlerai peut‑être. Je crois avoir rempli mon $HOME complètement, et ça n’a peut‑être pas plu à zsh.

Mes shells n’enregistraient donc plus les nouvelles commandes dans le fichier .zsh_history, et surtout, ce fichier est devenu vide. Or, je tiens à mon historique ! Il y a un tas de commandes que je rappelle simplement en tapant leurs premières lettres (…)

« Internet est cassé » ou plutôt : comment tester du TCP ou de l’UDP

Posté par  (site web personnel) . Édité par Arkem, Davy Defaud et Yves Bourguignon. Modéré par Julien Jorge. Licence CC By‑SA.
Étiquettes :
35
3
juil.
2019
Ligne de commande

N. D. L. A. : cet article est généré via une commande du type ansible-playbook InternetEstCassé.yml pour tester réellement les commandes.

Internet est cassé. Le Web ne marche plus. Le réseau est pété. Ça marche pas. Ce site est indisponible. Des lutins bloquent ma connexion. Les tuyaux sont bouchés. Y a Firefox qui veut pas, etc. Quand il y a un souci de réseau, toutes sortes d’imprécations, de suppositions, de supplications ou de raisons sont lancées. Peut‐on aller plus loin et essayer d’y voir plus clair, de déboguer un peu le souci et d’identifier le problème.

On va parler un peu d'IP — surtout la version 4 —, de TCP, d’UDP, d’ICMP, d’ARP, de DNS, de HTTP, etc., d’un peu de vue pratique de vérification du bon fonctionnement ou de recherche d’un souci. En dehors des pages Wikipédia, une lecture utile : la RFC 1180 « A TCP/IP Tutorial » (avec une traduction en français disponible).

Forum Linux.général Comment éviter d'effacer des fichiers avec rm *

Posté par  . Licence CC By‑SA.
Étiquettes :
2
17
juin
2017

Bonsoir,

Sous bash, je viens d'effacer par erreurs des fichiers car je souhaitais écrire "rm *.jpg". Mais comme la touche 'Shift' est près de la touche 'Entrée', j'ai appuyé sur 'Entrée' par erreur et j'ai donc tapé "rm *".

Ce n'est pas la première fois que cela m'arrive et je souhaiterais un garde-fou contre cela.

Quelques remarques :
- J'ai bien noté qu'il existe safe-rm, mais il ne protège pas contre les wildcards.
- Je crois que sous zsh, il (…)

Journal Alterner les répertoires avec zsh

Posté par  . Licence CC By‑SA.
Étiquettes :
6
16
jan.
2017

Vous utilisez souvent C-^ pour alterner les deux derniers fichiers ouverts dans vim ?
Sachez qu’il est possible de réaliser une fonctionnalité analogue avec le shell zsh !

Première étape, créer un fichier alter-dirs contenant :

emulate -R zsh

setopt local_options

setopt warn_create_global

LBUFFER="cd -"

zle accept-line

Ensuite, insérer ces lignes dans votre zshrc :

# Inutile si vous placez le fichier dans un répertoire
# déjà existant dans $fpath
fpath+=(/répertoire/de/votre/fichier/alter/dirs)

# Chargement à la
(…)

Liquid Prompt 1.10

Posté par  (site web personnel) . Édité par bubar🦥, ZeroHeure, Florent Zara, Pierre Jarillon et palm123. Modéré par Pierre Jarillon. Licence CC By‑SA.
39
2
juin
2016
Ligne de commande

Le Liquid Prompt est un prompt fluide affichant de manière limpide des informations utiles dans le prompt de votre shell bash ou zsh. Le liquidprompt était déjà bien rempli de fonctionnalités, certaines ont été ajoutées, d'autres corrigées, et leurs performances ont encore été améliorées avec les 216 commits durant les 17 mois écoulés. Il était temps de sortir une nouvelle version officiellement stable.

Je profite de cette dépêche pour remercier chaudement les 35 contributeurs qui par leurs patchs ont contribué à cette version.

Quelques changements sont présentés dans la suite de cette dépêche.

Gérer son espace de travail git avec "gws"

Posté par  . Édité par Benoît Sibaud, BAud, palm123, Nils Ratusznik et Ontologia. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
38
26
juil.
2015
Gestion de versions

gws est un outil KISS (script bash, compatible zsh) pour gérer de manière simple un espace de travail composé de plusieurs dépôts git. Ça ne vous parle pas et vous semble être un pitch commercial ? Laissez-moi l'aborder autrement ; si vous vous reconnaissez dans quelques-unes de ces questions, cet outil pourrait vous être utile :

  • Vous avez un dossier ~/dev/, ~/code/ ou ~/workspace/ dans votre répertoire personnel ?
  • Vous y avez cloné dedans plein de dépôts git ?
  • Vous ne savez jamais quels dépôts, branches, commits n'ont pas été synchronisés ?
  • Vous en avez marre d'avoir à faire 17 git pull manuellement le lundi matin au boulot ?
  • Vous déprimez en arrivant dans le train de voir que vous n'avez pas récupéré votre dernier projet sur votre ordinateur portable ?

Journal Y'en a marre de ce gros troll !

Posté par  .
49
14
nov.
2014

Cher Nal,

Je t'écris aujourd'hui pour m'expliquer. En effet je pense devoir avouer que je suis un troll.
Mais loin du terme galvaudé utilisé par le commun des mortels pour qui un geek est un client d'Apple shooté à la pub, je suis ce que je considère un troll dans le sens positif qu'on peut lui donner.

Je vais expliquer ça avec mon dernier troll : emacs/vim vs sublime text/zed/atome vs intellij/eclipse (qui s'est passé ici)

Le troll (…)

Liquid Prompt 1.9

Posté par  (site web personnel) . Édité par Benoît Sibaud, Nÿco et Nils Ratusznik. Modéré par patrick_g. Licence CC By‑SA.
39
14
nov.
2014
Ligne de commande

Le Liquid Prompt est un prompt fluide affichant de manière limpide des informations utiles là où vous les verrez : le prompt de votre shell bash ou zsh. Le liquidprompt était déjà bien rempli de fonctionnalités, mais celles-ci ont été stabilisées et leurs performances améliorées durant les mois écoulés. Il était temps de sortir une nouvelle version officiellement stable.

Pour les détails de cette version surtout composée de correctifs (indicateurs de batterie, température, charge processeur, nom de machine, gestion de code source, chemin, prompt, horloge, etc.) ; les curieux sont invités à consulter le fichier CHANGES : Battery indicator, Temperature indicator, CPU load, Hostname, VCS (Git, Fossil, Subversion, Bazar, Mercurial), Analog clock, etc.

Je profite de cette dépêche pour remercier chaudement les 15 contributeurs qui par leurs patchs ont contribué à cette version : Anthony Gelibert, Frédéric Mahé, Panayiotis Kkolos, Étienne Deparis, François Schmidts, Linus Wallgren, Alexander Belaev, Bartosz Janda, Brett McBride, Chase Colman, Cosmin L. Neagu, Matthew Micene, Vincent Lara, Wilson Maravilha et Yannack. Mais aussi tous ceux qui ont signalés des bogues ou proposé des patchs refusés ou en attente.

Liquidprompt version 1.8

Posté par  (site web personnel) . Édité par Nÿco et claudex. Modéré par patrick_g. Licence CC By‑SA.
29
16
jan.
2014
Ligne de commande

Le Liquid Prompt est un prompt fluide affichant de manière limpide des informations utiles là où vous les verrez : le prompt de votre shell bash ou zsh. Le liquidprompt était déjà bien rempli de fonctionnalités, mais vu la quantité de travail de fond accompli sur la branche de développement, il coulait de source qu'il était temps de sortir une nouvelle version stable.

La version précédente manquait de tests sur les architectures que je ne peux pas tester (MacOS X, *BSD…), mais grâce aux nombreux contributeurs (apparemment pour la plupart francophones) les problèmes ont vite été résolus sur la branche de développement, develop. Grâce au passage de témoin officiel de l'auteur initial, nojhan, j'ai eu les coudées franches pour faire des factorisations plus profondes pour améliorer les performances.

Je profite de cette annonce pour féliciter publiquement deux contributeurs en particulier qui ont participé activement à cette version : François Schmidts et Rolf Morel grâce à des patches décisifs et pour de l'aide à mon travail de mainteneur grâce au défrichage des tickets. Merci !

Liquidprompt version 1.7

Posté par  (site web personnel, Mastodon) . Édité par Benoît Sibaud et Nils Ratusznik. Modéré par Nils Ratusznik. Licence CC By‑SA.
Étiquettes :
42
2
déc.
2013
Technologie

Le Liquid Prompt est un prompt fluide affichant de manière limpide des informations utiles là où vous les verrez : le prompt de votre shell bash ou zsh.

Le liquidprompt était déjà bien rempli de fonctionnalités, mais vu la quantité de travail de fond accompli sur la branche de développement, il coulait de source qu'il était temps de sortir une nouvelle version stable.

Une vague de bugfix (notamment une meilleure compatibilité avec zsh, FreeBSD, OpenBSD et OS X) mais surtout un torrent, que dis-je, un raz-de-marée, d'optimisations (notamment dans les dépôts mercurial ou bazaar) écoulées par le nouveau mainteneur, Olivier Mengué.

Quelques gouttes de fonctionnalités, également :

  • affichage du temps mis par la dernière commande (s'il dépasse un seuil, dans le plus pur style liquidprompt) ;
  • l'affichage du nombre de lignes modifiées dans les dépôts fossil ;
  • la température affichée est maintenant la moyenne des maximums ;
  • désactivation du support de gestion de version pour l'utilisateur root (plus logique d'un point de vue sécurité).

Je ne voudrais pas trop me mouiller, mais je crois qu'on a là un excellent cru.