Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.debian.user > #168776
| From | David Christensen <dpchrist@holgerdanske.com> |
|---|---|
| Newsgroups | linux.debian.user |
| Subject | Re: bash help please |
| Date | 2016-06-10 06:10 +0200 |
| Message-ID | <rIlVD-887-1@gated-at.bofh.it> (permalink) |
| References | <rIkGd-74R-1@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On 06/09/2016 07:41 PM, Gene Heskett wrote:
> A bash script that has worked most of a decade now refuses.
>
> For instance, assume that var InMail is = "gene", and can be echoed from
> the command line using $InMail like this.
> gene@coyote:~$ echo $InMail
> gene
> But I'll be switched if I can get a result from a line of code resembling
> this from the command line while attempting to troubleshoot a 110 line
> bash script: which asks "if test [${InMail} = "gene"]
> then
> -----
> elif (another name)
> yadda yadda
>
> gene@coyote:~$ echo `test [${InMail} = "gene"]`
>
> All I get is the linefeed. Obviously I'm losing it, so how do I
> translate and get usefull output for troubleshooting?
'test' and '[ ... ]' are very similar. I use the latter. I definitely
don't use both in one line.
When comparing variables against string constants in '[ ... ]'
expressions, I put quotes around the variables.
Here's a short script that seems to work correctly:
2016-06-09 20:48:40 dpchrist@t7400 ~/sandbox/bash
$ cat gene-heskett.sh
#!/bin/bash
export InMail="gene"
echo "InMail=${InMail}"
if [ "${InMail}" = "gene" ]
then
echo "InMail is gene"
elif [ "$InMail" = "david" ]
then
echo "InMail is david"
else
echo "InMail unknown"
fi
Here's a run:
2016-06-09 20:49:30 dpchrist@t7400 ~/sandbox/bash
$ ./gene-heskett.sh
InMail=gene
InMail is gene
Here's a run with the '-x' option:
2016-06-09 20:56:19 dpchrist@t7400 ~/sandbox/bash
$ bash -x gene-heskett.sh
+ export InMail=gene
+ InMail=gene
+ echo InMail=gene
InMail=gene
+ '[' gene = gene ']'
+ echo 'InMail is gene'
InMail is gene
If that doesn't help, post a complete script that demonstrates the problem.
David
Back to linux.debian.user | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
bash help please Gene Heskett <gheskett@shentel.net> - 2016-06-10 04:50 +0200
Re: bash help please Lars Noodén <lars.nooden@gmail.com> - 2016-06-10 05:10 +0200
Re: bash help please Gene Heskett <gheskett@shentel.net> - 2016-06-10 06:40 +0200
Re: bash help please David Wright <deblis@lionunicorn.co.uk> - 2016-06-10 06:00 +0200
Re: bash help please Gene Heskett <gheskett@shentel.net> - 2016-06-10 07:10 +0200
Re: bash help please David Wright <deblis@lionunicorn.co.uk> - 2016-06-10 07:40 +0200
Re: bash help please Gene Heskett <gheskett@shentel.net> - 2016-06-10 08:40 +0200
Re: bash help please David Christensen <dpchrist@holgerdanske.com> - 2016-06-10 06:10 +0200
Re: bash help please Gene Heskett <gheskett@shentel.net> - 2016-06-10 07:10 +0200
Re: bash help please David Christensen <dpchrist@holgerdanske.com> - 2016-06-11 05:50 +0200
Re: bash help please <tomas@tuxteam.de> - 2016-06-10 09:10 +0200
csiph-web