Pick of the Week - Nov 10 [Show all picks]
Path Finder 5 - A feature-laden Finder replacement
Submit Hint Search The Forums LinksStatsPollsFAQHeadlinesRSS
12,000 hints and counting!


Click here to return to the 'Use Growl to monitor long-running shell commands' hint
The following comments are owned by whomever posted them. This site is not responsible for what they say.
Use Growl to monitor long-running shell commands
Authored by: kyngchaos on Fri, Oct 12 2007 at 9:10AM PDT
Ack! That works, but is not good. $1 is the WHOLE command, including all parameters. First, long commands can create a large notify box. Second, growlnotify tries to interpret any flags in that command - those parameters that start with a hyphen (this must be a bug). I tried quoting ${PREEXEC_CMD:-Some Command} but that didn't help.

How would you get the first word of $1, which would be just the command with no parameters?


[ Reply to This | # ]
Use Growl to monitor long-running shell commands
Authored by: dbingham on Fri, Oct 12 2007 at 9:48AM PDT
Try:

export PREEXEC_CMD="$(echo $1 | awk '{print $1}')"

However, note that unless I'm mistaken, $BASH_COMMAND would include the entire command and all its arguments were it working. So, not sure if just getting the first word is entirely correct. I concur that this seems more like an issue with growlcode than with using $1 or $BASH_COMMAND.

Perhaps instead of just taking the first word, a better workaroud would be to just replace the dash with another character like tilde:

export PREEXEC_CMD="$(echo $1 | sed 's/-/~/g')"

Now, at a quick glance it still looks right.

-dbingham

[ Reply to This | # ]
Use Growl to monitor long-running shell commands
Authored by: kyngchaos on Fri, Oct 12 2007 at 11:53AM PDT
that awk bit works. Thanks.

The full command may be what was originally intended. But whether that's appropriate or not gets back to my first point - long commands (I often run configures with a long stream of options) can either create a large growl box, unless limited in the growl prefs. In the end, all I need to see for a quick notification is the command and not all its parameters.


[ Reply to This | # ]