[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Syntax Question...
From: |
Ken Irving |
Subject: |
Re: Syntax Question... |
Date: |
Tue, 16 Aug 2011 08:45:48 -0800 |
User-agent: |
Mutt/1.5.20 (2009-06-14) |
On Mon, Aug 15, 2011 at 08:19:01PM -0700, Linda Walsh wrote:
> >>today_snaps="$('ls' -1 ${snap_prefix} 2>/dev/null |tr "\n" " " )"
> >
> >This one is so bad, I saved it for last. Ack! Pfffft! Wait, what? Why?
> >What the? Huh?
> ...
> What would you do to search for files w/wild cards and return the output
> in a list?
Maybe this?
today_snaps=( ${snap_prefix} )
e.g., given:
$ ls note*
note note-to-bob note-to-bob.txt
$ unset foo bar; bar=note\*; foo=($bar); echo ${foo[@]}; echo $foo
note note-to-bob note-to-bob.txt
note
This result is an array; if you really want a string,
$ unset foo bar; bar=note\*; foo="$bar"; echo ${foo[@]}; echo $foo
note note-to-bob note-to-bob.txt
note note-to-bob note-to-bob.txt
>From bash(1):
Pathname Expansion
After word splitting, unless the -f option has been set, bash
scans each word for the characters *, ?, and [. If one of these
characters appears, then the word is regarded as a pattern,
and replaced with an alphabetically sorted list of file names
matching the pattern. ...
I'm guessing the 'Ack!' was maybe for 'useless use of subshell'?
> I'm sorry if you feel you waisted your time, I usually don't stay stuck
> ...
I'm actually trying to follow along, but it's tough going.
It seems to me that there are real bugs in applying set -e that can only
be fixed by handling more special cases in the bash code, and those cases
may vary for different scripts. I've never used it, and do use a lot of
'|| exit' constructs, but I think the core of the matter is conflating
'non-zero exit value' with 'error'. set -e is not defined to trigger on
'errors', but rather on 'non-zero exit values'. The problem is that,
for set -e to be generally useful, bash has to somehow internally disable
it under some conditions, as described in the manual:
set ...
-e
...
The shell does not exit if the command that fails is part of the
command list immediately following a while or until keyword,
part of the test following the if or elif reserved words,
part of any command executed in a && or || list except the
command following the final && or ||, any command in a pipeline
but the last, or if the command's return value is being
inverted with !.
A constructive contribution might be made by seeing if you can add your
special cases to that list, even better if you can help by identifying
where it might be done in the code.
Ranting, inferring that people have 'little minds', aren't good
or skilled programmers, etc., does little to make things better.
Excessive verbosity, lingo, abbrevs, etc., don't help either. ;-)
Ken
- Re: Syntax Question..., (continued)
- Re: Syntax Question..., Chet Ramey, 2011/08/18
- Re: Syntax Question..., Dennis Williamson, 2011/08/15
- Re: Syntax Question..., Linda Walsh, 2011/08/15
- Re: Syntax Question..., Greg Wooledge, 2011/08/16
- Re: Syntax Question..., Dennis Williamson, 2011/08/16
- Re: Syntax Question..., Linda Walsh, 2011/08/16
- Re: Syntax Question..., Dennis Williamson, 2011/08/16
- Re: Syntax Question..., Greg Wooledge, 2011/08/17
- Re: Syntax Question...,
Ken Irving <=
- Re: Syntax Question..., Dennis Williamson, 2011/08/16
- Re: Syntax Question..., Linda Walsh, 2011/08/16
- Re: Syntax Question..., Ken Irving, 2011/08/16
- Re: Syntax Question..., Greg Wooledge, 2011/08/17
- Re: Syntax Question..., Linda Walsh, 2011/08/19
- Re: Syntax Question..., Linda Walsh, 2011/08/16
- Re: Syntax Question..., Pierre Gaston, 2011/08/15
- Re: Syntax Question..., Linda Walsh, 2011/08/18
- Re: Syntax Question..., Pierre Gaston, 2011/08/18
- Re: Syntax Question..., Linda Walsh, 2011/08/18