piping in shell script wont work


Recommended Posts

I'm fairly new to Linux, so excuse me when I'm asking the obvious.

 

I'm using ARMbian  5.25 stable Ubuntu 16.04.2 LTS 3.4.113-sun8i on a Orange Pi Zero, RTL-SDR and DireWolf

 

When I execute from prompt:

 

rtl_fm -f 144.80M - | direwolf -c sdr.conf -r 24000 -D 1 -

 

Everything starts up as it should. But as I'm planning to use a headless setup, some self sustaining feature after power failure or whatnot is necessary.

I figured out how to configure a cronjob and it starts a shell script when the software is not running.

 

In that shellscript I'm using:

 

DWCMD="bash -c 'rtl_fm -f 144.80M - | direwolf -c sdr.conf -r 24000 -D 1 -'"

 

and executing the script while using "top" I see bash popping up but nothing else, as I'm using:

 

DWCMD="$DIREWOLF -a 100"

 

and executing the script, DireWolf pops up on "top" as it should

 

I've been poking around the web for a while now, but seem not to be able to figure this one out myself.

When someone can give this newb some pointers, I would be great full.

Link to post
Share on other sites

Armbian is a community driven open source project. Do you like to contribute your code?

Often the problem with executing scripts fron cron or att system startup is that the environment is more limited than when you are logged in at the prompt.

Try giving full paths to your commands. If you don't know the paths ypu can find out with the 'which' command.

If for example:

which rtl_fm

returns something like /some/path/rtl_fm

Then you put in your script /some/path/rtl_fm instead of just the short rtl_fm command. Do the same for direwolf command.

Link to post
Share on other sites

There should be something true to that. However, I think I made a newb mistake by installing  rtl-sdr in root and direwolf in usr. I will get back when I've started again from scratch..

Link to post
Share on other sites

Reverting back to scratch and configuring the right way wasn't the solution sadly enough.

 

Now I'm using:

 

DWCMD="bash -c '/home/usr/rtl-sdr/rtl_fm -f 144.39M - | /home/usr/direwolf/direwolf -c sdr.conf -r 24000 -D 1 -'"

 

And executing the script responds just in to starting up direwolf sole

 

 ./dw-start.sh
Direwolf in GUI mode start up
DISPLAY=:0
Did not find an X terminal emulator.  Reverting to CLI mode
-----------------------
Direwolf in CLI mode start up
There is a screen on:
        1860.direwolf   (05/07/2017 07:17:06 PM)        (Detached)
1 Socket in /var/run/screen/S-usr.
-----------------------

 

Link to post
Share on other sites

Guest
This topic is now closed to further replies.
 Share

0