LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Blogs > linux-related notes
User Name
Password

Notices


Just annotations of little "how to's", so I know I can find how to do something I've already done when I need to do it again, in case I don't remember anymore, which is not unlikely. Hopefully they can be useful to others, but I can't guarantee that it will work, or that it won't even make things worse.
Rate this Entry

Bash variables storing the output of commands run them at each variable statement, not just at some eventual invocation

Posted 08-10-2016 at 04:30 PM by the dsc
Updated 08-10-2016 at 04:33 PM by the dsc
Tags bash

Meaning that a script line such as:

nowstatus=`mpc | grep '#' | cut -d '/' -f1`

Is running mpc, grep and cut at its very statement, not only from an eventual "echo $nowstatus".

Therefore, in scripts that parse differently the same output of a given command, it may be preferable to first store this output in a temporary file, and then parse this file rather than running the same command several times. Such as in the lines added below their equivalent commented lines:

Code:
mpc > /dev/shm/mpcout

# nowwhat=`mpc | head -n 1 | sed -e 's/\&/&/g;s/_//g;s/(//g;s/)//g;s/\#/ /g' `
nowwhat=`head -n 1 /dev/shm/mpcout | sed -e 's/\&/&/g;s/_//g;s/(//g;s/)//g;s/\#/ /g' `

# nowstatus=`mpc | grep '#' | cut -d '/' -f1`
nowstatus=`sed -n '2p' /dev/shm/mpcout | cut -d '/' -f1 | sed 's|\[playing\]| ▶ |;s|\[paused\]| ▮▮ |' `

# whatnow=`mpc | tail -n 1 | sed 's|single.*||;s/\#/ /g'`
whatnow=`tail -n 1 /dev/shm/mpcout | sed 's|single.*||;s/\#/ /g'`
The command seems to run regardless of the variable storing the output in the format of var=`command`, or var=$(command), or yet var=(`command`).
Posted in Uncategorized
Views 1184 Comments 0
« Prev     Main     Next »
Total Comments 0

Comments

 

  



All times are GMT -5. The time now is 06:08 PM.

Main Menu
Advertisement
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration