Articles of pipe de

Pipe dans si déclaration?

J'écris un script bash. J'ai une série de tuyaux fonctionnant pour get toutes les twigs sur un repository git: git ls-remote $1 'refs/heads/*' \ | rev \ | cut -d'/' -f1 \ | rev \ | if [ -z $2 ] then echo {} else echo {} > $2 fi Actuellement, la déclaration if de […]

lire une list de lignes d'une sortie d'écriture de file vers un utilitaire

J'ai un file avec une list de lignes que je veux lire à partir d'un autre file. Je veux sortir ces lignes à un utilitaire ( grep ) qui me laisse lire toute la ligne et en tirer des informations. Le file avec les lignes ressemble à ceci: cat input.txt 2088 2089 2095 2096 Pour […]

Rediriger stdout vers terminal et file sans utiliser un tuyau?

J'ai du code, ça va quelque chose comme ça: #!/bin/bash VAR=0 func() { VAR=$((VAR+1)) echo 'Logging information.' } func 2>&1 | tee 'log.txt' echo "Should be 1: ${VAR}" Lors de l'appel cela se produit: :~$ ./script.sh Should be 1: 0 Pour autant que je le comprenne, c'est parce que le tuyau que j'utilise engendre un […]

source / dev / stdin ne fonctionne pas comme prévu

Commençons par des tests simples qui fonctionnent pour moi pour vérifier que source /dev/stdin peut être utilisé du tout. # echo -ne 'echo a\necho b\n' | source /dev/stdin a b Maintenant, je voudrais find une fonction réelle. # echo -ne 'f() { echo a; }\n' | source /dev/stdin # f -bash: f: command not found […]

Est-ce que splice () / tee () peut être utilisé pour travailler avec des sockets, et pas seulement des tuyaux?

Sous Linux, les appels système splice (2) et tee (2) sont utilisés pour transférer des données entre deux descripteurs de files. L'un des descripteurs de files ou les deux doivent être un canal, conformément à la documentation. Pourquoi? Cela peut-il être fait pour fonctionner avec des sockets? Est-ce que cela fonctionne actuellement, ou est-ce que […]

La cible de binding de pipe existe-t-elle quelque part dans le système de files?

Je parle de ceci: $ readlink <(echo test) pipe:[80076194] Est-ce que pipe:[80076194] un path vers la cible ou juste une indication que le descripteur de file est connecté au tube et n'existe pas dans le système de files? La raison principale que je request est due à php pour celui qui tente de le déreferencer: […]

Comment envoyer stderr à stdout avec un pipe à une autre command?

J'essaye de capturer toute la sortie d'une opération de construction et de l'envoyer à myprogram . Il me semble que je ne peux en capturer qu'une partie. C'est ce que j'essaie: make clean && make DISABLE_ID3TAG=1 CFLAGS="-O2 -DNDEBUG -W64" | myprogram &2 > 1 J'ai aussi essayé: make clean && make DISABLE_ID3TAG=1 CFLAGS="-O2 -DNDEBUG -W64" […]

Comment faire pour que les programmes python se comportent comme des outils Unix appropriés?

J'ai quelques scripts Python qui traînent, et je travaille à les réécrire. J'ai le même problème avec chacun d'entre eux. Ce n'est pas évident pour moi comment écrire les programmes afin qu'ils se comportent comme des outils unix appropriés. Car ce $ cat characters | progname et ça $ progname characters devrait produire la même […]

Est-il possible de redirect la sortie d'une command en plusieurs commands?

Pour autant que je sache, je peux utiliser la command tee pour split la sortie standard sur l'écran et d'autres files: command -option1 -option2 argument | tee file1 file2 file3 Est-il possible de redirect la sortie vers des commands au lieu de files en utilisant tee, de sorte que je pourrais théoriquement créer une string […]

Comment définir un nouveau mot de passe à partir de bash?

J'utilise busybox avec un passwd limité (je n'ai pas l'option –stdin) et sans chpasswd et j'ai besoin de changer le mot de passe d'un user de bash. Voici mon meilleur résultat: echo newpassword > pwdfile echo newpassword > pwdfile cat pwdfile | passwd myuser Changing password for myuser Enter the new password (minimum of 5, […]