## Quel terminal utiliser ? Quel que soit votre configuration, si vous avez réussi à installer le projet, il y a de fortes chances que bash existe sur votre ordinateur. Certains d'entre vous utilisent peut-être un autre shell, comme `zsh`. En effet, `bash` est bien, il fait le taff ; mais son ergonomie finit par montrer ses limites. C'est pourquoi il existe des shells plus avancés, qui peuvent améliorer l'ergonomie, la complétion des commandes, et l'apparence. C'est le cas de `zsh`. Certains vont même plus loin et refont carrément la syntaxe. C'est le cas de `nu`. Pour choisir un terminal, demandez-vous juste quel est votre usage du terminal : - Si c'est juste quelques commandes basiques et que vous ne voulez pas vous embêter à changer votre configuration, `bash` convient parfaitement. - Si vous commencez à utilisez le terminal de manière plus intensive, à varier les commandes que vous utilisez et/ou que vous voulez customiser un peu votre expérience, `zsh` est parfait pour vous. - Si vous aimez la programmation fonctionnelle, que vous adorez les pipes et que vous voulez faire des scripts complets mais qui restent lisibles, `nu` vous plaira à coup sûr. !!! note Ce ne sont que des suggestions. Le meilleur choix restera toujours celui avec lequel vous êtes le plus confortable. ## Commandes utiles ### Compter le nombre de lignes du projet === "bash/zsh" ```bash sudo apt install cloc cloc --exclude-dir=doc,env . ``` Ok, c'est de la triche, on installe un package externe. Mais bon, ça marche, et l'équivalent pur bash serait carrément plus moche. === "nu" Nombre de lignes, groupé par fichier : ```nu ls **/*.py | insert linecount { get name | open | lines | length } ``` Nombre de lignes total : ```nu ls **/*.py | insert linecount { get name | open | lines | length } | math sum ``` Vous pouvez aussi exlure les lignes vides et les les lignes de commentaire : ```nu ls **/*.py | insert linecount { get name | open | lines | each { str trim } | filter { |l| not ($l | str starts-with "#") } | # commentaires filter { |l| ($l | str length) > 0 } | # lignes vides length } | math sum ```