Una pipe Unix collega i descrittori di file di due processi. Viene creata una pipe con la funzione POSIX pipe () dichiarata in <unistd.h>. Le shell forniscono la creazione di pipe tra i processi usando "|".
Sto leggendo un libro, dice: Ogni processo ha almeno tre canali di comunicazione disponibili: "input standard" (STDIN), "output standard" (STDOUT) e "errore standard" (STDERR). La maggior parte dei comandi accetta l'input da STDIN e scrive l'output su STDOUT. Scrivono messaggi di errore su STDERR. Questa convenzione consente di mettere insieme …
Voglio scrivere la seguente funzione bash in modo che possa accettare il suo input da un argomento o da una pipe: b64decode() { echo "$1" | base64 --decode; echo } Utilizzo desiderato: $ b64decode "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ b64decode < file.txt $ b64decode <<< "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" $ echo "QWxhZGRpbjpvcGVuIHNlc2FtZQ=" | b64decode
L'uso di uno dei due fornisce un testo leggibile. Ma solo con il reindirizzamento stderr è possibile scorrere o digitare / somepattern e ottenere corrispondenze. Senza di essa, la ricerca fornisce "Nulla da cercare (premi INVIO)" e una colonna di ~. Dato, stderr e stdout non sono gli stessi, ma …
Problema generale Voglio scrivere uno script che interagisca con l'utente anche se si trova nel mezzo di una catena di pipe. Esempio concreto Concretamente, prende un fileo stdin, visualizza le righe (con i numeri di riga), chiede all'utente di inserire una selezione o numeri di riga, quindi stampa le righe …
Ad esempio, da alcuni comandi ho ricevuto alcune righe $ some-command John Bob Lucy Ora vorrei aggiungere il comando concatenamento, che modifica l'output. $ some-command | other-command Hi John Bye Hi Bob Bye Hi Lucy Bye Come scrivere other-command? (Sono un novizio a Bash)
Ho tre tipi di dati che sono in diversi formati; per ogni tipo di dati, esiste uno script Python che lo trasforma in un unico formato unificato. Questo script Python è lento e associato alla CPU (a un singolo core su una macchina multi-core), quindi voglio eseguirne tre istanze - …
Ho uno script che produce un file "Detail.out". So che lo script è completato ogni volta che il file contiene un certo numero di righe (circa 21025). Quindi mi trovo seduto al prompt dei comandi in esecuzione: [me@somewhere myDir]$ wc -l */Detail.out 21025 A/Detail.out 21025 B/Detail.out 21025 C/Detail.out 12995 D/Detail.out …
Si consideri il seguente comando: bash -c "echo x; cat 1" | tee 1. La mia comprensione è che sarebbe fork su una nuova shell, scrivere xsu stdout, scrivere file 1 not foundsu stderr, uscire e restituire il controllo al processo genitore e scrivere xsu stdout e su 1. Quindi, …
Sto cercando di capire come viene comunicato lo stato di uscita quando viene utilizzata una pipe. Supponiamo che sto usando whichper individuare un programma inesistente: which lss echo $? 1 Poiché whichnon è stato possibile individuare, lssho ottenuto uno stato di uscita di 1. Questo va bene. Tuttavia, quando provo …
Mi chiedo se la T rallenta le condotte. Dopotutto, la scrittura di dati su disco è più lenta rispetto al loro collegamento. Tee attende con l'invio dei dati alla pipe successiva fino a quando non sono stati scritti sul disco? (In caso contrario, immagino che tee debba mettere in coda …
C'è un modo per eseguire un comando solo dopo che un altro è stato fatto senza un file temporaneo? Ho un comando in esecuzione più lungo e un altro comando che formatta l'output e lo invia a un server HTTP usando curl. Se eseguo solo commandA | commandB, commandBinizierò curl, …
Di 'che ho il seguente script: #!/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 Sulla riga chiave, leggo e scrivo lo stesso file tmpche a volte non …
Chiuso . Questa domanda richiede dettagli o chiarezza . Al momento non accetta risposte. Vuoi migliorare questa domanda? Aggiungi dettagli e chiarisci il problema modificando questo post . Chiuso 2 anni fa . a causa del modo in cui il mio hoster fa le cose, devo usare un sistema per …
Supponiamo di avere un file chiamato confirmation.shcon il seguente contenuto: #!/bin/bash echo -n "Are you sure [Y/n]? " read line case "$line" in n|N) echo "smth" ;; y|Y) echo "smth" ;; esac e voglio eseguire questo script nel modo seguente: cat confirmation.sh | sh Vedo Are you sure [Y/n]?e lo …
Ho uno script s1che genera un elenco di numeri separati da ',' ad es 1,2,3,4. Ora voglio dare questi numeri allo script s2come argomenti, in modo che s2 venga eseguito su ciascuno di essi e ne generi il risultato in una riga separata. Ad esempio, se s2 moltiplica i numeri …
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.