Fish est un shell qui se veut simple. Il est tout à fait utilisable, quoiqu'il souffre encore de quelques bugs. Son mode interactif est particulièrement agréable. Utiliser Bash, le shell par défaut de nombreuses distributions, consiste en partie à éviter les pièges et à se retrouver dans un empilement de syntaxes ajoutées au fil du temps. Fish, lui, essaye d’être cohérent. Il ne cherche pas à respecter POSIX, enfin pas complètement, même si je pense qu’il ne devrait même (…)
Adoption des sinogrammes pour les options courtes des programmes GNU
C’est une petite révolution du côté des coreutils, des built‐ins Bash et de tous ces petits programmes du projet GNU qu’on utilise sans même y penser : ceux‐ci voient arriver un changement majeur à leur syntaxe, qui va consister à utiliser des sinogrammes (caractères chinois) pour remplacer les options courtes, c’est‐à‐dire les options qui étaient jusqu’à aujourd’hui composées d’un tiret et d’une seule lettre de l’alphabet latin. Cette évolution est motivée par la pénurie de plus en plus pressante de lettres pour les options de certaines commandes, au développement desquelles elle devrait donner un nouveau souffle.
Interrogé lors d’une récente conférence à Paris, Richard Stallman lui‐même a déclaré : « J’approuve ce changement car ces programmes seront toujours distribués sous la licence publique générale GNU, version 3 ».
Tous les détails dans la suite de la dépêche.
Journal JSON en ligne de commande : jq/pjy
Salut à toi, Nal,
Connais tu jq
?
C'est un outil en ligne de commande bien pratique quand on a des données en JSON et qu'on veut en extraire quelques infos. On lui passe un fichier JSON, une expression bien sentie dans un langage spécifique et concis, et le tour est joué.
Alors, je sais pas pour toi, Nal, mais je galère quand même pas mal chaque fois pour réussir à écrire l'expression qui va bien, car jq
a son (…)
Journal vmux: un plugin pour utiliser neovim en tant que multiplexer de terminal
TL;DR j'ai écrit un plugin, vmux, pour faciliter l'utilisation de neovim comme multiplexeur de terminaux.
Depuis un certain temps, il est possible d'ouvrir un terminal dans neovim (et c'est maintenant aussi le cas dans vim).
Je me suis donc demandé s'il était possible d'utiliser neovim à la place de mon multiplexeur de terminaux préféré (tmux).
J'ai donc essayé d'utiliser neovim à la place de tmux durant une semaine.
Voyant ce qu'il manquait pour mieux intégrer (…)
Journal Gufo: un langage de shell moderne!
Gufo est un prototype de langage de script moderne qui peut embarquer des commandes unix et servir de shell.
Pourquoi
Bash est, pour les utilisateurs techniques, l'interface texte majeure sous les systèmes GNU-linux.
La raison principale est la facilité à appeler des programmes externes et la possibilité de combiner des flux d'entrées/sorties dans l'environnement orienté fichier de GNU-linux.
En gardant conscience de la qualité et de la quantité de travail qui a été mise dans Bash, un système d'exploitation moderne (…)
Journal Migration de / d'un disque dur à l'autre avec btrfs
Bonjour,
Suite aux bons journaux trouvés sur linuxfr à propos de btrfs,
j'ai transformé mes systèmes de fichier principaux en btrfs pour pouvoir
bénéficier de ses avantages et de snapperd.
Aujourd'hui, j'ai fait une mise à jour de mon nas pour passer du ssd au nvme.
Le nouveau disque est plus petit que l'ancien, je ne peux pas faire une bête
copie bit à bit de l'ancien disque vers le nouveau comme je fais à mon habitude.
Au vu des (…)
Forum Linux.général --== GUIDE DE L'ADMINISTRATEUR LINUX ==--
Bonjour à toutes et à tous,
Je mets à disposition un guide sur l'installation et l'administration des systèmes Linux (et Unix).
Ce document de plus de 100 pages est le fruit de quelques années d’expériences professionnelles, et continue à me servir régulièrement. Effectivement j'ai eu des responsabilités en tant qu'ingénieur systèmes, mais aussi en tant que consultant-formateur. Il ne s'agit pas simplement de théories ou de méthodes bidouillées dans mon coin, mais il s'agit bien d'un document de référence utilisé (…)
Forum Programmation.shell execution d'un script local sur des machines distantes
Bonjour,
Je viens vers vous pour un peu d'aide, j'ai développé un script pour une société qui permet d'avoir une météo du parc serveurs (états fs, verif des process principaux…)mon problème est que je ne trouve pas la solution pour l'executer depuis mon serveur de test sur les autres environnements, j'ai mis des clés ssh depuis mon serveur vers les serveurs clients mais à moins de déposer le script sur les serveurs et de les executer depuis mon serveur, je (…)
Forum Programmation.shell Exploiter retour commande
Forum Programmation.shell Remplacer des cellules
Bonjour,
Ce forum m'a bien aidé jusque là dans ma découverte du shell mais là je bloque.
Je suis nouvellement admin réseau et j'ai 2 fichiers .csv que je veux fusionner.
identifiants2015.csv
$cat identifiants2015.csv
CLASSE,NOM,PRENOM,IDENTIFIANT,M.de P.
c601,A,antoine,antoine.a,4f56yg
c504,B,micheline,micheline.b,654pgh
identifiants2016.csv
$cat identifiants2016.csv
CLASSE,NOM,PRENOM,LOGIN,MOT DE PASSE
c601,Z,bob,bob.z,t954fd
c502,A,antoine,antoine.a,(déjà attribué)
c404,B,micheline,micheline.b,(déjà attribué)
Et je voudrais obtenir ceci en remplaçant "(déjà attribué)" par le mot de passe 2015.
logins2016_maj2016.csv
$cat logins_maj2016.csv
CLASSE,NOM,PRENOM,LOGIN,MOT DE PASSE
c601,Z,bob,bob.z,t954fd
c502,A,antoine,antoine.a,4f56yg
c404,B,micheline,micheline.b,654pgh
Je me doute qu'il y a quelque (…)
Forum Programmation.shell Conseil GUI
Bonjour,
J'ai besoin de vos idées, lumières, conseils.
J'aimerais faire une interface pour du code bash afin de piloter des VM tournant sous Virtualbox.
Le code n'est pas très compliqué car il reprend des commandes fournies par Virtualbox et d'autres éléments de l'hôte en lui même.
Donc pour cette partie pas de soucis je gère.
Par contre là où je coince c'est pour la partie interface. Car je voudrais créer une interface afin de rendre la gestion de la chose (…)
Forum Programmation.shell Copier n fois un paramètre dans une commande en bash (shell?)
Bonjour,
Pour une raison inavouable j'avais besoin de dupliquer n fois un paramètre sur une ligne de commande :
commande foo foo foo foo foo foo ... (n fois)
La solution que j'ai trouvé c'est : par exemple pour n = 30
commande foo{,,}{,,,,,}{,,,}
# (2*5*3)
Est-ce qu'il y a plus simple ? Plus joli ? En bash ? En shell ?
Bien à vous
AJOUT : Je faisais le malin avec ma solution, je (…)
Journal Alterner les répertoires avec zsh
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
(…)
Forum Programmation.shell find, sort & nul char
Bonjour,
J’ai un script qui stock l’état des permissions d’un répertoire dans un fichier. Pour comparer l’état courant avec l’état sauvegardé je procède ainsi :
function check() {
diff -aBy <(cat $1) <(store $2) | tr "\000" " " |egrep '\s\||>|<\s'
}
$1
est mon fichier dans lequel sont stockés les permissions$2
est le répertoire concerné
Le fichier est généré ainsi (c’est la fonction 'store' utilisée ci-dessus) :
function store()
(…)
Journal Des "basheries"
Salut,
Voici un journal qui répertorie les quelques raccourcis et commandes que j'ai découverts au fil du temps et de balades sur le net (blogs, forums, wiki, man bash, etc.). J'essaie de faire une liste ici de ceux qui me semblent vraiment utiles pour l'utilisation quotidienne du terminal par un utilisateur lambda. Je fais partie de cette catégorie, je ne suis ni un programmeur, ni un utilisateur averti, je fais de la recherche en sciences humaines et sociales et de (…)