Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.unix.shell > #26902

Re: Variable var names

From gazelle@shell.xmission.com (Kenny McCormack)
Newsgroups comp.unix.shell
Subject Re: Variable var names
Date 2026-06-12 09:02 +0000
Organization The official candy of the new Millennium
Message-ID <110ghv7$2175u$1@news.xmission.com> (permalink)
References <n91qs8Fk65fU1@mid.individual.net>

Show all headers | View raw


In article <n91qs8Fk65fU1@mid.individual.net>,
Frank Winkler  <usenet@f.winkler-ka.de> wrote:
>Hi there !
>
>I'm playing with the following in an interactive bash as well as in a 
>ksh script:
>
>$ n=1
>$ x1="  ok  "
>$ x2="  not ok  "
>$ eval echo \$x$n
>ok
>$ eval echo "\$x$n"
>ok
>$ n=2
>$ eval echo "\$x$n"
>not ok
>$
>
>So the variable var name seems to work but why are the blanks "deleted" 
>here? I also tried some variants with "printf", but also with no success.

I don't know much about ksh, but in bash, you can (and, IMHO, you should)
use the "nameref" functionality.

I just did:

$ declare -n foo
$ n=1;x1="   ok    ";x2="  not ok   "
$ for foo in x$n;do echo "|$foo|";done
|   ok   |
$ ((n++));for foo in x$n;do echo "|$foo|";done
|  not ok   |
$

Note that you have to use a "for" loop to get around a bit of the weirdness
of how namerefs work in bash.

I think both "eval" and "IFS" should be avoided if at all possible.
Too many gotchas associated with both of these constructs.

-- 
There are many self-professed Christians who seem to think that because
they believe in Jesus' sacrifice they can reject Jesus' teachings about
how we should treat others. In this country, they show that they reject
Jesus' teachings by voting for Republicans.

Back to comp.unix.shell | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Variable var names Frank Winkler <usenet@f.winkler-ka.de> - 2026-06-12 09:30 +0200
  Re: Variable var names gazelle@shell.xmission.com (Kenny McCormack) - 2026-06-12 09:02 +0000
    Re: Variable var names Frank Winkler <usenet@f.winkler-ka.de> - 2026-06-13 12:29 +0200
      Re: Variable var names gazelle@shell.xmission.com (Kenny McCormack) - 2026-06-13 11:14 +0000
      Re: Variable var names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-06-13 13:15 +0200
  Re: Variable var names ram@zedat.fu-berlin.de (Stefan Ram) - 2026-06-12 11:26 +0000
    Re: Variable var names ram@zedat.fu-berlin.de (Stefan Ram) - 2026-06-12 11:38 +0000
      Re: Variable var names Frank Winkler <usenet@f.winkler-ka.de> - 2026-06-12 14:07 +0200
        Re: Variable var names ram@zedat.fu-berlin.de (Stefan Ram) - 2026-06-12 12:31 +0000
          Re: Variable var names Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-06-13 02:48 +0000
  Re: Variable var names Christian Weisgerber <naddy@mips.inka.de> - 2026-06-12 12:12 +0000
    Re: Variable var names Frank Winkler <usenet@f.winkler-ka.de> - 2026-06-12 15:19 +0200
    Re: Variable var names Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-06-13 02:51 +0000
  Re: Variable var names Geoff Clare <geoff@clare.See-My-Signature.invalid> - 2026-06-12 13:42 +0100
  Re: Variable var names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-06-12 17:41 +0200
    Re: Variable var names Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-06-12 17:54 +0200
    Re: Variable var names Frank Winkler <usenet@f.winkler-ka.de> - 2026-06-13 12:32 +0200
      Re: Variable var names Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-06-14 01:12 +0000
  Re: Variable var names Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-06-13 00:20 +0000
  Re: Variable var names Kaz Kylheku <046-301-5902@kylheku.com> - 2026-06-23 21:25 +0000
    Re: Variable var names Helmut Waitzmann <nn.throttle@erine.email> - 2026-06-24 10:45 +0200
    Re: Variable var names Christian Weisgerber <naddy@mips.inka.de> - 2026-06-24 11:41 +0000

csiph-web