[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: non working code .. loop ends after one
From: |
alex xmb ratchev |
Subject: |
Re: non working code .. loop ends after one |
Date: |
Thu, 2 Mar 2023 00:14:53 +0100 |
On Wed, Mar 1, 2023, 11:23 PM Kerin Millar <kfm@plushkava.net> wrote:
> On Wed, 1 Mar 2023 22:11:35 +0100
> alex xmb ratchev <fxmbsw7@gmail.com> wrote:
>
> > hello ,
> > im at a scp file list script
> > it had few typos , then it began to work
> > but only one line outta the file
> > then nothing , just exit ..
> >
> > the cmd is
> > bash -x scp.u shone {user}@192.168.106.97:/mnt/1/fav aa1
> >
> > shone the ' ssh hash one dir '
> > aa1 is a \0 sep file list
>
> Are you sure?
>
> In any case, the code is odd. sep=${sep:-\\0} assigns '\0' if otherwise
> undefined. [[ $sep == *\\* ]] && declare -a "sep=$( $'sep' )" will then
> make sep an array (why?) whose first element is an empty string. It is
> unnecessarily complicated and error-prone. Just let sep _be_ the empty
> string to begin with, if you expect records ending with NUL.
>
i erm .. user functionality , no static
Despite this, it doesn't do the wrong thing in the case that sep begins by
> being unset/empty.
>
> $ unset -v sep; sep=${sep:-\\0}; [[ $sep == *\\* ]] && declare -a "sep=(
> $'$sep' )"
> $ declare -p sep
> declare -a sep=([0]="")
> $ printf '%s\0' foo bar | { IFS= read -rd "$sep" x; IFS= read -rd "$sep"
> y; declare -p x y; }
> declare -- x="foo"
> declare -- y="bar"
>
> This works because "$sep" == "${sep[0]}" == "". If you were to produce a
> smaller test case that someone else can easily run, it could help to get to
> the bottom of it.
>
> --
> Kerin Millar
>
- Re: non working code .. loop ends after one, (continued)
- Re: non working code .. loop ends after one, Kerin Millar, 2023/03/01
- Re: non working code .. loop ends after one, alex xmb ratchev, 2023/03/02
- Re: non working code .. loop ends after one, Kerin Millar, 2023/03/02
- Re: non working code .. loop ends after one, Greg Wooledge, 2023/03/02
- Re: non working code .. loop ends after one, alex xmb ratchev, 2023/03/03
- Re: non working code .. loop ends after one, alex xmb ratchev, 2023/03/03
Re: non working code .. loop ends after one,
alex xmb ratchev <=
Re: non working code .. loop ends after one, Chet Ramey, 2023/03/01