This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: Bash shell script issue
- From: Kipton Moravec <kipton_moravec at yahoo dot com>
- To: Michel LaBarre <michel dot labarre at rogers dot com>, 'Eric Blake' <eblake at redhat dot com>, "cygwin at cygwin dot com" <cygwin at cygwin dot com>
- Date: Wed, 7 Sep 2016 15:32:43 +0000 (UTC)
- Subject: Re: Bash shell script issue
- Authentication-results: sourceware.org; auth=none
- References: <330568691.2384551.1473201409220.ref@mail.yahoo.com> <330568691.2384551.1473201409220@mail.yahoo.com> <c0b897be-d3cf-f3b9-cf5b-0024a1d395e5@redhat.com> <001601d208a8$ee01d0b0$ca057210$@rogers.com>
- Reply-to: Kipton Moravec <kipton_moravec at yahoo dot com>
Something else I did not know.
dalkmora@DALM0048 ~/walnut/dp2b_walnut_customer_flextronics/walnut
$ od -cx testconvert1.sh
0000000 # ! / b i n / b a s h \r \n e c h
2123 622f 6e69 622f 7361 0d68 650a 6863
0000020 o $ P W D \r \n p r o j e c t _
206f 5024 4457 0a0d 7270 6a6f 6365 5f74
0000040 r o o t = $ P W D \r \n e c h o
6f72 746f 243d 5750 0d44 650a 6863 206f
0000060 $ p r o j e c t _ r o o t \r \n x
7024 6f72 656a 7463 725f 6f6f 0d74 780a
0000100 = $ { p r o j e c t _ r o o t }
243d 707b 6f72 656a 7463 725f 6f6f 7d74
0000120 / t o o l s \r \n e c h o $ x \r
742f 6f6f 736c 0a0d 6365 6f68 2420 0d78
0000140 \n e c h o $ { x } | c a t
650a 6863 206f 7b24 7d78 7c20 6320 7461
0000160 - A
2d20 0041
0000163
The proportional spacing screwed it up, but there are no extra unprintable characters.
I have been using notepad++ for my windows editor.
So that is not the issue.
Thanks for the suggestion.
Kip
----- Original Message -----
From: Michel LaBarre <michel.labarre@rogers.com>
To: 'Eric Blake' <eblake@redhat.com>; cygwin@cygwin.com; kipton_moravec@yahoo.com
Sent: Tuesday, September 6, 2016 8:41 PM
Subject: RE: Bash shell script issue
Suggestion to Kipton:
od -cx <name-of-your-script>
will show you exactly what is in your script so you can see any spurious carriage-returns or other special characters.
> -----Original Message-----
> From: cygwin-owner@cygwin.com [mailto:cygwin-owner@cygwin.com] On
> Behalf Of Eric Blake
> Sent: September-06-16 9:21 PM
> To: cygwin@cygwin.com; kipton_moravec@yahoo.com
> Subject: Re: Bash shell script issue
>
> On 09/06/2016 05:36 PM, Kipton Moravec wrote:
>
> > I this is the script:
> > #!/bin/bash
> > echo $PWD
>
> Insufficient quoting. This does not do the right thing if $PWD contains
> spaces. But not necessarily related to your problem at hand.
>
> > project_root=$PWD
> > echo $project_root
>
> Again, insufficient quoting.
>
> > x=${project_root}/tools
> > echo $x
>
> And again.
>
> > echo ${x} | cat -A
> >
> > On original Windows 7 computer I get:
> > dalkmora@DALM0048
> ~/walnut/dp2b_walnut_customer_flextronics/walnut
> > $ ./testconvert1.sh
> > /home/dalkmora/walnut/dp2b_walnut_customer_flextronics/walnut
> > /home/dalkmora/walnut/dp2b_walnut_customer_flextronics/walnut
> > /toolsdalkmora/walnut/dp2b_walnut_customer_flextronics/walnut
> >
> /home/dalkmora/walnut/dp2b_walnut_customer_flextronics/walnut^M/to
> ols^M$
>
> The carriage returns are likely a product of you editing the file in
> text mode (Windows notepad is notorious for this, but many other native
> programs do likewise), but trying to execute the script in binary mode
> (the default, if you do not use 'set -o igncr').
>
>
> > What am I doing wrong or is this an error?
> > Where do the carriage returns (^M) come from, and how do I get rid of
> them?
>
> d2u /path/to/your/script
>
> to remove all the carriage returns from your careless editing. Once they
> are gone, then you don't need the 'igncr' crutch to tell bash to go into
> text mode.
>
> --
> Eric Blake eblake redhat com +1-919-301-3266
> Libvirt virtualization library http://libvirt.org
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple