Articles of process de substitution

Ctrl-c tue le shell lorsque le pipeline est utilisé dans le sous-shell de redirection d'input

Si j'exécute une command comme: cat <(echo 1 | pv) | pv cat <(echo 1 | pv) | less cat <(echo 1 | pv) | cat La command semble courir pour toujours. La saisie de ^C (SIGINT) tue tout le shell au lieu de seulement les commands exécutées. pourquoi est-ce le cas? Sortie pertinente de […]

erreur de syntaxe près d'un jeton inattendu `<'

J'écris un script pour lire la sortie d'une command aux variables a et b. C'est le script #!/bin/bash read ab < <(awk '/Application Server/ && !seen[$7]++{printf "%s ", $7}' /tmp/ServerState) echo "The value of a is $a" echo "The value of b is $b" et obtenant l'erreur de syntaxe comme: line 3: syntax error near […]

Mettre le descripteur de file substitué en process dans la variable

J'ai longtime commandé à peu près ceci: $ command-outer "long command which references a file here: filename1, and another file reference here: filename2" Les files sont la sortie d'une autre command. Donc je fais: $ command-outer "long … "<(command-inner "again long params")"… "\ <(command-inner "again long params")" …" Pour la lisibilité, j'aimerais extraire les canaux […]

Différences de performance entre les pipelines et la substitution des procédés

J'ai tendance à utiliser des pipelines dans mes scripts bash sur la substitution de process dans la plupart des situations, en particulier dans les cas d'utilisation de plusieurs sets de commands car il semble plus lisible de faire … | … | … … | … | … … | … | … sur … […]

Substitution de process avec tee et pâte

J'essaie de canaliser une command à travers la sortie de deux autres commands, puis de merge les résultats des deux substitutions de process. Un exemple qui me rapproche est: command | tee >(sed -rn 's/.*foo (bar).*/1/p') >(awk '{print $3}') Cependant, je voudrais réaliser ce qui suit: Je n'ai pas besoin de voir le stream d'input […]

Tuyaux vs substitution de process

Tout en essayant le cat "$@" astuce pour lire à partir de l'input standard ou des files donnés, il s'est avéré que la pipe et la substitution de process traitent différemment une nouvelle ligne manquante : printf %s foo > test.txt unset REPLY while read do : done < <(cat test.txt) echo "$REPLY" # Prints […]

Bash Reuse Process Substitution File

J'ai un gros script qui prend un file en input et fait divers trucs avec lui. Voici une version de test: echo "cat: $1" cat $1 echo "grep: $1" grep hello $1 echo "sed: $1" sed 's/hello/world/g' $1 Je veux que mon script fonctionne avec la substitution de process, mais seulement la première command ( […]

substitution du process bash avec file temporaire

Certains programmes ont besoin que leurs files soient recherchés, par exemple objdump . $ objdump -D -b binary -m i8086 <(echo 0xea 0x5b 0xe0 0x00 0xf0|xxd -r -p) objdump: Warning: '/proc/self/fd/11' is not an ordinary file Il serait pratique d'avoir la substitution de process utiliser des files temporaires. Je peux voir dans la page man […]

Quelle est la différence entre ces quatre commands (fifo, substitution de process, redirection …)

Mon but est de créer un server d'écho simple en utilisant nc et un seul fifo . Je ne cherche pas la meilleure façon de le faire, j'essaie simplement de comprendre la sémantique des commands suivantes (quand est-ce que fork se produit, pourquoi, qu'est-ce que ça change, pourquoi les commands se comportent différemment …). J'utilise […]

Pourquoi est-ce que `sort <(ls -l)` travail mais `sort <(ls -l)` échoue?

Aujourd'hui, j'apprends quelque chose à propos de fifo avec cet article: Introduction to Named Pipes , qui mentionne cat <(ls -l) . J'ai fait quelques expériences en utilisant le sort < (ls -l) , qui émet une erreur: -bash: syntax error near unexpected token `('` Puis j'ai trouvé que j'avais mal ajouté un espace supplémentaire […]