Posted Dec 3, 2008 21:42 UTC (Wed) by tzafrir (subscriber, #11501)
[Link]
On a zsh:
% gpg --l[tab][tab]
--list-keys -- list all keys
--list-options -- modify what the various --list-*
--list-packets -- list only the sequence of packets
--list-public-keys -- list all public keys
--list-secret-keys -- list all secret keys
--list-sigs -- lists keys and signatures
--local-user -- use name as the user ID to sign
--lsign-key -- sign a key but mark as non-export
--list-only --lock-never --logger-fd
--lock-multiple --lock-once
Go fish! (developerWorks)
Posted Dec 3, 2008 23:48 UTC (Wed) by nix (subscriber, #2304)
[Link]
zsh certainly isn't stagnant either. It doesn't roar along with huge
numbers of new features, but it already has so *many* that if it adds many
more the manual will collapse into a black hole.
(Recentish features include UTF-8 support, which now seems to have enough
of the bugs worked out of it to be useful, and exception handling, which
in any shell but zsh would have me spluttering in amazement. This being
zsh, though, it's not surprising: I fully expect I've just overlooked the
strong AI that can write your code for you, if you can figure out the
incredibly baroque syntax for telling it what to do.)
Go fish! (developerWorks)
Posted Dec 4, 2008 16:49 UTC (Thu) by sitaram (subscriber, #5959)
[Link]
I'll admit exception handling is a little over the top for a shell, but bash has a few tricks up its sleeve too.
What would you say to a job-queuing program whose main "loop" is essentially the single statement "wait", and which did everything else by trapping SIGCHLD? Take a look at http://sitaramc.googlepages.com/queue.sh (but note: I wrote it for a lark and it seemed to work fine in testing but I never actually used it "in production")
Go fish! (developerWorks)
Posted Dec 5, 2008 0:41 UTC (Fri) by nix (subscriber, #2304)
[Link]
Oh, that's very neat. I can think of half a dozen times I've done things
in deeply ugly ways that could have been done like that.
The code's not even contorted to fit: the 'one line at the end where
control sits forever' just falls out of it.
Go fish! (developerWorks)
Posted Dec 5, 2008 3:11 UTC (Fri) by sitaram (subscriber, #5959)
[Link]
thanks!
I'm a perl guy normally, but I wrote this to show (show off?) a bunch of perl/python/java type kids what plain bash could do...
Go fish! (developerWorks)
Posted Dec 5, 2008 9:42 UTC (Fri) by njs (subscriber, #40338)
[Link]
Very slick indeed, thanks for sharing!
Go fish! (developerWorks)
Posted Dec 3, 2008 22:24 UTC (Wed) by tyhik (subscriber, #14747)
[Link]
> Unix shells have stagnated in recent years.
Like much of that basic unix and internet stuff. The rfc793 dates back to almost thirty years
Go fish! (developerWorks)
Posted Dec 3, 2008 23:16 UTC (Wed) by drag (subscriber, #31333)
[Link]
I don't see mature and useful software as stagnating. Instead it just gets incorporated into larger and more complex hunks of software.
It's nice to see some change going on though.
Go fish! (developerWorks)
Posted Dec 3, 2008 23:52 UTC (Wed) by JoeBuck (subscriber, #2330)
[Link]
"Stagnation" just means that 10-year-old code still runs. Better to write a new scripting language than to incompatibly change an old one.
Go fish! (developerWorks)
Posted Dec 6, 2008 16:02 UTC (Sat) by dmag (subscriber, #17775)
[Link]
That's exactly why fish is neat. The existing shells are ONLY used because they are ubiquitous. Nobody says "bash is an awesome programming language."
If you use Fish as your shell, then you can also use it to write Fish shell scripts. The "language" around the shell is a lot less arcane and has more conceptual integrity.
That said, I've tried to use fish as my main shell, and failed because it takes a while to learn. I couldn't figure out how to do "(sleep 1h; xmessage time to go) &".