Re: Recomended tutoial(s) on doing arithmetic in Bash scripts
- Date: Sun, 5 Mar 2017 14:55:36 -0600
- From: Richard Owlett <rowlett@xxxxxxxxxxx>
- Subject: Re: Recomended tutoial(s) on doing arithmetic in Bash scripts
On 03/05/2017 02:23 PM, tomas@xxxxxxxxxx wrote:
-----BEGIN PGP SIGNED MESSAGE-----
On Sun, Mar 05, 2017 at 12:10:43PM -0600, Richard Owlett wrote:
How about the whole app <grin>
You solved my problem with one line.
Glad it helped :)
I needed to report the number of bytes downloaded for each portion
of a project [...]
Let me pick a nit...
mystring=$(echo $(grep "usb0" /proc/net/dev))
This should be equivalent to
mystring=$(grep "usb0" /proc/net/dev)
I was just copying the tutorial's syntax. I had no explanations, only
code fragments. One of the sites that prompted me to ask for
- grep "usb0"/proc/net/dev
spits out the line(s) containing the pattern "usb0"
- the $(...) around it expands it in the shell inline
- the echo spits that again out to stdout
- the $(...) around it expands it again in-line
So unless the expansion is doing anything funky (which we won't hope,
but see below), you can unwrap the outer $(echo ...).
Now the second nit: I'm not sure whether there's a case when the
unquoted $(...) might undergo a further expansion by the shell,
so it's prudent to quote it, like so:
mystring="$(grep "usb0" /proc/net/dev)"
(I know, my example wasn't... exemplar in this respect, but I knew
I was only getting plain numbers and I was kind of lazy: bad tomás)
Someone on another group wanted me to use LibreOffice Calc ;/
Might work, but don't ask me how :-/
That poster's explanation made little sense. Only one of the reasons I
didn't try it.