Bash 5 : une introduction

Posté par  . Édité par Ysabeau 🧶 🧦, Gil Cot ✔, Anonyme, Benoît Sibaud et palm123. Modéré par Ysabeau 🧶 🧦. Licence CC By‑SA.
44
5
août
2022
Ligne de commande

La troisième version du document « Introduction à la programmation en Bash » (IUT de Rodez) vient de paraître. Elle est principalement destinée aux étudiants de niveau Licence.

Forum général.cherche-logiciel Gestionnaire de shell persistant

Posté par  . Licence CC By‑SA.
Étiquettes :
1
10
jan.
2022

Salut,
Je cherche un utilitaire qui permettrai de mémoriser et restituer plusieurs session bash en parallèle.
En gros, un "xterm" correspondrai à un historique de commande, un ensemble de variable globales et un répertoire courant de travail.
J'ai regardé, de loin, Tmux et Srceen, je suis pas certain que ça réponde à mon besoin.
Dernier détail, quand je parle de persistance, c'est pour supporter les reboots intempestif de Win10, c'est pour un environnement cygwin.

Des conseils, des idées?

GameShell, le retour

Posté par  . Édité par palm123, Benoît Sibaud et bobble bubble. Modéré par Benoît Sibaud. Licence CC By‑SA.
Étiquettes :
52
26
juin
2021
Ligne de commande

Il y a quelques mois, je postais une dépêche décrivant “GameShell”, un jeu que j’avais développé pour enseigner les bases de la ligne de commandes. Cette dépêche avait provoqué discussions, corrections de bugs et suggestions intéressantes.

Trois mois et quelques centaines de commits plus tard, je me permets de faire une petite mise à jour.

Globalement (mais je suis un peu biaisé), le GameShell d’aujourd’hui est nettement mieux que le GameShell d’hier. Ceci a un coût : la taille d’une archive GameShell a été multipliée par 3. On est passé de 44kio à 140kio !
Je ne sais pas comment on traduit “bloat” en français (“boursouflage” ?), mais pour le moment, ça ne m’empêche pas de dormir !

La version précédente avait été testée par plusieurs générations d’étudiants, parfois très inventifs. Alors n’hésitez pas à vous mettre dans la peau d’un étudiant en faisant une partie avant de me faire un retour.
Je suis preneur de toute critique, suggestion, rapport de bug, ticket, contribution et j’en passe.

Si certains veulent créer des missions, je pourrais faire une petite description de l’architecture d’une mission type. Ce n’est pas très compliqué, et une année, j’ai même eu un étudiant qui en a ajouté une comme « question bonus » !

Forum Linux.général Script local après ssh clos

Posté par  . Licence CC By‑SA.
Étiquettes :
1
15
avr.
2021

Bonjour,

Si j'ai une machine A qui ouvre un shell ssh sur une machine B.

Je cherche mais ne trouve pas comment lancer un script sur A quand la session ssh vers B se termine (exit propre ou coupure de courant peu importe).

Le top ce serait que ça soit un script général pour toutes mes sessions ssh y compris vers les autres machines.

Si je trouve pas, le truc qui existe déjà, je ferai un script ssh que je (…)

GameShell, apprendre les rudiments du shell en s'amusant

Posté par  . Édité par claudex et Pierre Jarillon. Modéré par Pierre Jarillon. Licence CC By‑SA.
Étiquettes :
80
26
mar.
2021
Ligne de commande

Il y a 4 ans, j'ai pris en charge un nouveau cours intitulé « système d'exploitation » en première année de licence. Le programme est assez large, avec un peu d'architecture, un peu de système, et même un peu de réseau. Là dedans, je devais faire une introduction au shell. Le risque avec ce genre du truc, c'est de se retrouver avec un catalogue de commandes qui rebutera même les étudiants les plus motivés.

Et c'est comme ça qu'est né GameShell, ou gash pour les intimes. GameShell est un jeu où il faut entrer des commandes dans un shell (bash) pour valider des « missions ». Comme il n'y a pas eu de gros bug ces deux dernières années, je me dis que je pouvais en faire la pub. (Attention, il reste probablement plein de bugs. C'est juste que les étudiants ne sont pas encore tombés dessus !). Ça peut intéresser les gens qui veulent apprendre, ou enseigner les rudiments du shell.

Le code est disponible sur GitHub (promis, je changerais un de ces jours) avec une licence GPL : GameShell sur GitHub

N'hésitez pas à me faire des retours d'utilisation, des rapports de bugs, proposer des fonctionnalités, ajouter des missions, etc.
Si vous l'utilisez « en public », ça serait juste bien d'inclure un lien vers le dépôt et / ou mon nom.

GameShell est un jeu en ligne de commandes, où le joueur doit taper des commandes bash pour valider des « missions ».

Journal Rashell – Une bibliothèque pour remplacer les scripts shells par du Lisp

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
8
11
oct.
2020

Rashell est une bibliothèque Common Lisp pour écrire des remplacements robustes et propices à la maintenance aux scripts shell.

Rashell identifie quelques façons typiques d'interagir avec les programmes externes:

  • les utilities qu'on utilise comme cp, rm, mv;
  • les tests qu'on utilise comme des prédicats, notamment test ou parfois grep.
  • les queries qu'on utilise pour produire une liste de résultats, comme find ou grep par exemple.
  • les filters qu'on applique sur un fichier, une séquence de lignes (…)

Sondage Votre invite de commande de shell…

Posté par  . Licence CC By‑SA.
Étiquettes :
11
8
sept.
2020

En 2020, le mode texte n’est plus un truc de réac barbus des temps anciens. Outre la prolifération d’émulateurs de terminal et la guerre des shells, on a aussi foison de projets d’invite de ligne de commande. Et vous, qu’utilisez‑vous comme invite de commande ?

  • la configuration par défaut de ma distribution :
    945
    (48.9 %)
  • une configuration personnalisée, maintenue avec amour depuis des années ! :
    529
    (27.4 %)
  • une configuration copiée d’un dotfile sur Internet ou d’un collègue :
    120
    (6.2 %)
  • un projet dédié comme PowerLine shell, starship ou un autre que je vais partager en commentaire :
    145
    (7.5 %)
  • je suis coincé sur cmd.exe  :'-(( :
    48
    (2.5 %)
  • je n’utilise pas le mode texte :
    11
    (0.6 %)
  • Obi‑Wan Kenobi :
    133
    (6.9 %)

Total : 1931 votes

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 (…)

Forum général.général Recherche lien vers bonne référence (fr.) sur bonnes pratiques de programmation Bash / Shell

Posté par  . Licence CC By‑SA.
7
3
juin
2020

Bonjour à tous,

Je peine à retrouver le lien, il me semble paru sur LinuxFr, il y a quelques semaines / mois, vers ce qui m'avait semblé une (très) bonne ressource francophone sur les bonnes pratiques de programmation Bash (et/ou Shell, je ne sais plus). Si le lien est paru dans la section "Liens", c'était (il me semble) sous un titre peu explicite du contenu, en quelque sorte masqué. Sauriez-vous m'aider?

Je n'arrive pas à le retrouver dans mes (…)

Forum Linux.débutant Utiliser "at" pour lancer un programme graphique ?

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
0
13
avr.
2020

Avec at, je peux programmer le lancement d'un script qui sera exécuté par défaut dans /bin/sh :

$ echo "/chemin/script.sh" | at now +1 minute
warning: commands will be executed using /bin/sh
job 6 at Mon Apr 13 11:53:00 2020

Mais je n'arrive pas à lancer de la même façon un programme graphique. Par exemple $ echo "/usr/bin/firefox" | at now +1 minute ou $ echo "/usr/bin/firefox &" | at now +1 minute ne me lance pas de fenêtre.

(…)