From: Heiko Gerstung <heiko@am-anger-1.de>
To: Eric Blake <eblake@redhat.com>
Cc: dash@vger.kernel.org
Subject: Re: Dashhh
Date: Thu, 17 Nov 2011 21:40:21 +0100 [thread overview]
Message-ID: <4EC57135.2030609@am-anger-1.de> (raw)
In-Reply-To: <4EC54ABA.6050607@redhat.com>
Am 17.11.11 18:56, schrieb Eric Blake:
> On 11/17/2011 09:17 AM, Heiko Gerstung wrote:
>> What this tiny patch does:
>> - shift does not return a critical error when no arguments are left, it simply does nothing
> This came up in the Austin Group (the folks in charge of POSIX), and the
> consensus there was that dash is compliant (POSIX says that the problem
> is with the script, not the shell, if you call shift with too few
> positional parameters set; and that you should rewrite your script to
> avoid tickling unspecified behavior).
>
> http://austingroupbugs.net/view.php?id=459
Thanks for providing the link. I disagree with POSIX ;-) in this
respect. Since shift often deals with user input (parameters provided
when invoking a script) it is not really foreseeable if a certain number
of parameters exists when shift comes to the party. I will try to
rewrite my scripts, but it is a PITA to do so (as all of us most
probably know) and if it is not really a POSIX violation to allow it, I
see no benefit from not allowing it. But hey, that's just me.
>
>> - "[[" works exactly as "["
> Wrong. [[ is NOT exactly like [. And the Austin Group is currently
> considering a proposal to add [[ to the shell (if that is done, then
> dash will HAVE to implement it as specified by POSIX; but the jury's
> still out on whether the proposal will be accepted):
>
> http://austingroupbugs.net/view.php?id=375
Yep, Stefano already pointed that out. My mistake!
>> - "==" works like "="
> That same Austin Group proposal is also talking about adding [ a == b ];
> this particular addition is much less controversial than the [[
> addition, so it is likely that the proposal will be split and each
> separate addition individually balloted for inclusion.
I hope they accept it. Really a no-ressource-consuming, no existing
script breaking thing and therefore a worthwhile addition IMHO.
>> - the variable FUNCNAME contains the name of the currently running shell function or nothing (when not inside a function)
> That's fluff - POSIX doesn't speak either way, and dash prefers to be as
> light as possible when POSIX doesn't require it, so I'm not sure if
> you'll get any enthusiastic response on this front.
I do not expect any enthusiastic responses, but I consider this a
valuable addition for debugging large scripts with lots of functions
usage. I have no problem if you think it's fluff, nobody is forced to
use something she/he doesn't like.
One more thing I'd like to add is something like $SECONDS, but maybe
with a little bit more resolution (maybe $RUNTIME representing the
amount of milliseconds since script invocation). Fluff as you probably
would say ;-), but it would give me a good idea where in my (larger)
scripts I am doing something that costs a lot of time.
Thank you for your interesting comments, that was exactly what I was
hoping for! Got me thinking and I already have a few nice ideas how to
rewrite parts of my scripts.
Regards,
Heiko
next prev parent reply other threads:[~2011-11-17 20:40 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-11-17 16:17 Dashhh Heiko Gerstung
2011-11-17 17:21 ` Dashhh Stefano Lattarini
2011-11-17 20:07 ` Dashhh Heiko Gerstung
2011-11-18 10:50 ` Dashhh Stefano Lattarini
2011-11-17 17:56 ` Dashhh Eric Blake
2011-11-17 20:40 ` Heiko Gerstung [this message]
2011-11-17 20:11 ` Dashhh Stephane CHAZELAS
2011-11-17 20:38 ` Dashhh Eric Blake
2011-11-18 8:18 ` Dashhh Stephane CHAZELAS
2011-11-17 20:46 ` Dashhh Heiko Gerstung
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4EC57135.2030609@am-anger-1.de \
--to=heiko@am-anger-1.de \
--cc=dash@vger.kernel.org \
--cc=eblake@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.