From: Brian Inglis <Brian.Inglis@Shaw.ca>
To: cygwin@cygwin.com
Subject: Re: General scripting issues vs. Linux
Date: Fri, 10 Mar 2023 09:15:39 -0700 [thread overview]
Message-ID: <b793e6e7-be60-bf76-8edf-ba4e3fdc7505@Shaw.ca> (raw)
In-Reply-To: <63cccff3-9487-3588-5dd8-e49499882280@cornell.edu>
On 2023-03-10 06:59, Ken Brown via Cygwin wrote:
> On 3/10/2023 8:47 AM, Markus Becker via Cygwin wrote:
>> I am quite an newby in Cygwin scripting and encountered several execution
>> issues with bash scripts. For example, when i try to execute the following
>> simple scriptfile "skript1.sh":
>> # This is a testscript
>> Statement="This is the testscript number 3"
>> FILE="home/mbecker/Secure_Copy_Beispiel.txt"
>> ls -l $FILE
>> echo $Statement
>> echo The file is $FILE
>> i got these results:
>> $ ./skript1.sh
>> ls: cannot access 'home/mbecker/Secure_Copy_Beispiel.txt'$'\r\r': No such
^^^^^
>> file or directory
>> This is the testscript number 3
>> The file is home/mbecker/Secure_Copy_Beispiel.txt
>> or another results from a different script:
>> $ ./skript7.sh
>> ./skript7.sh: line 3: $'clear\r': command not found
^^^
>> Dr▒cken sie beliebige Tasten und dann return
>> ': not a valid identifierd: `TASTE
>> These are just two of several issues coming up with bash scripting in
>> Cygwin. Maybe this is merely a corse problem with my platform
>> understanding. But why is Cygwin calling errors when performing standard
>> Linux bash commands? Is it due to a different syntax? Or is it even simpler?
> It looks like your scripts have CRLF line endings.
Utilities such as coreutils, gawk, grep, sed, etc. Cygwin packages had Cygwin
tweaks removed in 2017 to be compatible with Linux and other platforms in
handling '\r' before newlines, except for the single exception of Cygwin text
mounts, where '\r' may be stripped if a program opens a file from that mount in
text "t" mode, and may be added on writes to a file in text "t" mode on a text
mount:
https://www.cygwin.com/cygwin-ug-net/using-textbinary.html
discussions:
https://cygwin.com/legacy-ml/cygwin/2017-02/msg00152.html
https://cygwin.com/legacy-ml/cygwin/2017-02/msg00188.html
https://cygwin.com/legacy-ml/cygwin/2017-02/msg00189.html
Install package dos2unix which conveniently strips the offending junk from your
scripts and files e.g.
d2u -k skript*.sh
Install and use Cygwin editors and utilities, or check editor and utility
settings to ensure they are not set to behave like Windows e.g. gvim set
fileformat=unix termencoding=utf-8 fileencoding=utf-8 in your ~/.gvimrc ~/.vimrc
~/.virc ~/.exrc; emacs (set-buffer-file-coding-system 'mule-utf-8-unix) in
~/.emacs, type C-x C-q C-m f mule-utf-8-unix, or do the equivalent in more
sophisticated initializations (auto)detecting file type, encoding, and format;
for git config --global core.autocrlf = input, see:
https://stackoverflow.com/questions/3206843/how-line-ending-conversions-work-with-git-core-autocrlf-between-different-operat
--
Take care. Thanks, Brian Inglis Calgary, Alberta, Canada
La perfection est atteinte Perfection is achieved
non pas lorsqu'il n'y a plus rien à ajouter not when there is no more to add
mais lorsqu'il n'y a plus rien à retirer but when there is no more to cut
-- Antoine de Saint-Exupéry
next prev parent reply other threads:[~2023-03-10 16:15 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-03-10 13:47 Markus Becker
2023-03-10 13:59 ` Ken Brown
2023-03-10 16:15 ` Brian Inglis [this message]
2023-03-10 18:42 ` Backwoods BC
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=b793e6e7-be60-bf76-8edf-ba4e3fdc7505@Shaw.ca \
--to=brian.inglis@shaw.ca \
--cc=cygwin@cygwin.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).