Hi, Björn Johannesson wrote [020530 14:12]: > Hi. > > If you start a few jobs in the background and do: > zsh% jobs > [1] - running xmixer > [2] + running gtcd > zsh% _ > > ok, this is expected but this is not... > zsh% jobs | less > (END) > zsh% _ > > Why? This is quite annoying. You do not get any output if you pipe the > results from the "jobs" command. (jobs 2>&1|less doesn't work either) I don't remember exactly why this is the case (you might find something in the archives), but you can get the information via the $jobstates associative array. echo $jobstates | less What I don't understand from "man zshparam": k If used in a subscript on an associative array, this flag causes the keys to be interpreted as pat terns, and returns the value for the first key found where exp is matched by the key. This flag does not work on the left side of an assignment to an associative array element. If used on another type of parameter, this behaves like `r'. K On an associative array this is like `k' but returns all values where exp is matched by the keys. On other types of parameters this has the same effect as `R'. Why doesn't ~> echo $jobstates[(K)*] return anything when ~> echo $jobstates[*] running::6179=running running:-:6193=running running:+:6207=running returns a few jobs? ~> echo $jobstates[1] running::6179=running also works fine. I would suppose ~> echo $jobstates[(K)*] 1 2 3 or something similar... Ciao, Thomas -- Thomas Köhler Email: jean-luc@xxxxxxxxxxxxxxxxx | LCARS - Linux <>< WWW: http://jeanluc-picard.de | for Computers IRC: jeanluc | on All Real PGP public key available from Homepage! | Starships
Attachment:
pgp7zjUpvHbvY.pgp
Description: PGP signature