Un canal Unix relie les descripteurs de fichiers de deux processus. Un tube est créé avec la fonction POSIX pipe () déclarée dans <unistd.h>. Les shells permettent la création de canaux entre les processus en utilisant "|".
Je lis un livre, ça dit: Chaque processus dispose d'au moins trois canaux de communication: «entrée standard» (STDIN), «sortie standard» (STDOUT) et «erreur standard» (STDERR). La plupart des commandes acceptent leur entrée de STDIN et écrivent leur sortie dans STDOUT. Ils écrivent des messages d'erreur à STDERR. Cette convention vous …
Je veux écrire la fonction bash suivante de manière à ce qu'elle puisse accepter son entrée à partir d'un argument ou d'un tuyau: b64decode() { echo "$1" | base64 --decode; echo } Utilisation souhaitée: $ b64decode "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ b64decode < file.txt $ b64decode <<< "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ echo "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" | b64decode
L'utilisation de l'un ou l'autre donne un texte lisible. Mais ce n'est qu'avec la redirection stderr que l'on peut faire défiler ou taper / somepattern et obtenir des correspondances. Sans cela, la recherche donne "Rien à rechercher (appuyez sur RETOUR)" et une colonne de ~. Étant donné que stderr et …
Problème général Je veux écrire un script qui interagit avec l'utilisateur même s'il se trouve au milieu d'une chaîne de tuyaux. Exemple concret Concrètement, il faut un fileou stdin, affiche les lignes (avec des numéros de ligne), demande à l'utilisateur de saisir une sélection ou des numéros de ligne, puis …
Par exemple, j'ai obtenu de certaines commandes des lignes $ some-command John Bob Lucy J'aimerais maintenant ajouter une commande de chaînage, qui modifie la sortie. $ some-command | other-command Hi John Bye Hi Bob Bye Hi Lucy Bye Comment écrire other-command? (Je suis novice en bash)
J'ai trois types de données qui sont dans différents formats; pour chaque type de données, il existe un script Python qui le transforme en un seul format unifié. Ce script Python est lent et lié au CPU (à un seul cœur sur une machine multi-cœur), donc je veux en exécuter …
J'ai un script qui produit un fichier 'Detail.out'. Je sais que le script est terminé chaque fois que le fichier contient un certain nombre de lignes (environ 21025). Je me retrouve donc assis à l'invite de commande en cours d'exécution: [me@somewhere myDir]$ wc -l */Detail.out 21025 A/Detail.out 21025 B/Detail.out 21025 …
Considérez la commande suivante: bash -c "echo x; cat 1" | tee 1. Ma compréhension est qu'il se bifurquerait vers un nouveau shell, écrirait xsur stdout, écrirait file 1 not foundsur stderr, quitterait et retournerait le contrôle au processus parent, et écrirait xsur stdout et vers 1. Par conséquent, je …
J'essaie de comprendre comment l'état de sortie est communiqué lorsqu'un tuyau est utilisé. Supposons que j'utilise whichpour localiser un programme inexistant: which lss echo $? 1 Depuis l' whichéchec de la localisation, lssj'ai obtenu un statut de sortie de 1. C'est très bien. Cependant, lorsque j'essaie ce qui suit: which …
Je me demande si le tee ralentit les pipelines. Après tout, l'écriture de données sur le disque est plus lente que leur transmission. Est-ce que tee attend l'envoi des données vers le canal suivant jusqu'à ce qu'elles soient écrites sur le disque? (Sinon, je suppose que tee doit mettre en …
Existe-t-il un moyen d'exécuter une commande uniquement après qu'une autre soit effectuée sans fichier temporaire? J'ai une commande plus longue et une autre commande qui formate la sortie et l'envoie à un serveur HTTP en utilisant curl. Si je viens d'exécuter commandA | commandB, commandBdémarre curl, se connecte au serveur …
Disons que j'ai le script suivant: #!/bin/bash for i in $(seq 1000) do cp /etc/passwd tmp cat tmp | head -1 | head -1 | head -1 > tmp #this is the key line cat tmp done Sur la ligne clé, je lis et écris le même fichier tmpqui échoue …
Fermé . Cette question a besoin de détails ou de clarté . Il n'accepte pas actuellement les réponses. Voulez-vous améliorer cette question? Ajoutez des détails et clarifiez le problème en modifiant ce message . Fermé il y a 2 ans . en raison de la façon dont mon hébergeur fait …
Supposons que j'ai un fichier nommé confirmation.shavec le contenu suivant: #!/bin/bash echo -n "Are you sure [Y/n]? " read line case "$line" in n|N) echo "smth" ;; y|Y) echo "smth" ;; esac et je veux exécuter ce script de la manière suivante: cat confirmation.sh | sh Je vois Are you …
J'ai un script s1qui produit une liste de nombres séparés par ',' par exemple 1,2,3,4. Maintenant, je veux donner ces nombres au script s2comme arguments, afin que s2 soit exécuté sur chacun d'eux et produise son résultat sur une ligne distincte. Par exemple, si s2 multiplie les nombres par deux, …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.