Lo mejor que podrias hacer es comentar que es lo que quieres lograr, no
como crees que debes hacerlo y no te funciona :-)

Creo que te funcionaria como argumento si usas xargs:

# rtl_fm -f 433500000 -s 200000 -r 96000 -g 19.7 2>/dev/null | Efergy |
xargs MiScript.sh

Luego capturas el argumento en una variable (dentro del script)

On Sun, Feb 4, 2018 at 4:52 PM petrohs el compa obrero <petr...@gmail.com>
wrote:

> a mi se me ocurre
>
> export variable="$(rtl_fm -f 433500000 -s 200000 -r 96000 -g 19.7
> 2>/dev/null | Efergy)";
>
> y ya podrias usar la variable dentro de MiScript.sh
>

Otra forma también seria Esta de arriba, aunque debería ser ir asi:

export variable=$(rtl_fm -f 433500000 -s 200000 -r 96000 -g 19.7
2>/dev/null | Efergy)

Lo puedes guardar en el /etc/bash.bashrc, luego cargas dicha variable
dentro de tu script asi (lo puedes poner debajo del shebang, la primera
línea del script):

#!/bin.bash
. /etc/bash.bashrc


> On Sun, Feb 4, 2018 at 3:34 PM, fernando sainz <
> fernandojose.sa...@gmail.com> wrote:
>
>> El día 4 de febrero de 2018, 21:32, Josu Lazkano
>> <josu.lazk...@gmail.com> escribió:
>> > Buenas,
>> >
>> > Tengo un pequeño problema de scripting que no se como resolver.
>> > Dispongo de un comando que me da el consumo eléctrico de mi casa:
>> >
>> > # rtl_fm -f 433500000 -s 200000 -r 96000 -g 19.7 2>/dev/null | Efergy
>> >
>> > Lo que quiero es redirigir esta salida a un script en bash y tratar la
>> > salida como una variable. Algo así:
>> >
>> > # rtl_fm -f 433500000 -s 200000 -r 96000 -g 19.7 2>/dev/null | Efergy
>> > | MiScript.sh
>
>
>> >
>> > El problema es que no se como capturar la variable, he probado con
>> > "$1" pero solo sirve para argumentos.
>> >
>> > ¿Alguien me pude ayudar?
>> >
>> > Gracias por todo y un saludo.
>> >
>> > --
>> > Josu Lazkano
>> >
>>
>> No entiendo muy bien lo que preguntas.
>> Creo que podrías poner en tu script llamadas a "read" (man bash) que
>> lee una linea de la entrada estándar.
>>
>>
>>        read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N
>> nchars] [-p
>>        prompt] [-t timeout] [-u fd] [name ...]
>>               One line is read from the  standard  input,  or  from  the
>> file
>>               descriptor  fd supplied as an argument to the -u option,
>> and the
>>               first word is assigned to the first name, the second word
>> to the
>>               second  name, and so on, with leftover words and their
>> interven‐
>>               ing separators assigned to the last name.  If  there  are
>> fewer
>>               words read from the input stream than names, the remaining
>> names
>>               are assigned empty values.  The characters in IFS  are
>> used  to
>>               split  the  line  into words using the same rules the shell
>> uses
>>               for expansion (described above under Word Splitting).  The
>> back‐
>>               slash  character  (\)  may be used to remove any special
>> meaning
>>               for the next character read and for line continuation.
>> Options,
>>               if supplied, have the following meanings:
>>
>> S2.
>>
>>
>
>
> --
> "Cada cual según sus fuerzas, cada quien según sus necesidades..."
>
-- 


Erick.


-------------------------------------------
IRC     :   zerick
Blog    : http://zerick.me
About :  http://about.me/zerick
Linux User ID :  549567

Responder a