delorie.com/archives/browse.cgi | search |
X-Recipient: | archive-cygwin AT delorie DOT com |
DKIM-Filter: | OpenDKIM Filter v2.11.0 sourceware.org 33C19385480D |
DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=cygwin.com; |
s=default; t=1678473828; | |
bh=/NNLEUv18oJiqQjIgH2yQmn7PJpEJEybdBG+ywPuuHM=; | |
h=References:In-Reply-To:Date:Subject:To:List-Id:List-Unsubscribe: | |
List-Archive:List-Post:List-Help:List-Subscribe:From:Reply-To: | |
From; | |
b=Xck7aixgu1QqOAsoJV1LRWGjlCE1AtsNWNpdbpJ1ONeUEh7nIRffFjpevYpsS4n+O | |
ylWxv0bRkAwXcNFjpQKZ5kMOCF4O4CGC/HarZBR24PsmwGqFcmf65FKuZrf5UyU565 | |
t0WUx8os1UPJI1xd7cPbzNd4NryHAgE+kSPXIQZ4= | |
X-Original-To: | cygwin AT cygwin DOT com |
Delivered-To: | cygwin AT cygwin DOT com |
DMARC-Filter: | OpenDMARC Filter v1.4.2 sourceware.org 0E946385840A |
X-Google-DKIM-Signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; |
d=1e100.net; s=20210112; t=1678473757; | |
h=content-transfer-encoding:to:subject:message-id:date:from | |
:in-reply-to:references:mime-version:x-gm-message-state:from:to:cc | |
:subject:date:message-id:reply-to; | |
bh=5G5l70pTNUkugzU0HDCuQCyjVkV7rhYgcEFljSOuaG0=; | |
b=OcybL54o389TaH+cszSxLwAM+F3Vdsd83g0N/tUqZ6ppZTMe0jpPZc9E0TUe7xH4iW | |
8Hf7GDFyS1hnCqPSVDUz2lfexndf/4580AA0bt6QVcEekBzRs5wCRory2BCV8kOAqOBV | |
/70ujUf6CwAMTReRGeiFZ0Do1dLNKnHE7N8ZeaZxGQp2g9jPt1Om4aQ/3hveIx27G39X | |
+Y1GpPsFK4PL0ph1svzoG9YPUQ7hWG3lQyFnhCl7dwpVPxreG5vNxQOxEogRkaz0J7tX | |
AW7oahmhAoOWNzzN39hy9DN5t5nZgzu7uZN4qd5hfAS/k9QdVYaN4i8LJ2pPEKO6+/jU | |
pv5g== | |
X-Gm-Message-State: | AO0yUKVu8MqoZNBXiBKxF9MAFGrTnp/wtCJxtML0wXqsKf9VMdyXiYvc |
r3hVwyFpEEGJqdiHJT9ZpYqM2vJh3Aa3wUo2g5tKutkUZbLKVTJvQ/A= | |
X-Google-Smtp-Source: | AK7set+kI7qK5b+utQzfLCcQnD4LY9r0FwhxT/DjrxxO4jY57Z6ZU7oORzDNyVbIC7PE70Ii9h08O4DWO9khGPoVI8I= |
X-Received: | by 2002:a17:903:26d6:b0:19b:fe3:c948 with SMTP id |
jg22-20020a17090326d600b0019b0fe3c948mr9863821plb.12.1678473757089; Fri, 10 | |
Mar 2023 10:42:37 -0800 (PST) | |
MIME-Version: | 1.0 |
References: | <CABojj+7dMPO547kVL6C4vW6c1VWZHB2x4EAHDROQ1AuUOEH8LQ AT mail DOT gmail DOT com> |
<63cccff3-9487-3588-5dd8-e49499882280 AT cornell DOT edu> | |
<b793e6e7-be60-bf76-8edf-ba4e3fdc7505 AT Shaw DOT ca> | |
In-Reply-To: | <b793e6e7-be60-bf76-8edf-ba4e3fdc7505@Shaw.ca> |
Date: | Fri, 10 Mar 2023 10:42:25 -0800 |
Message-ID: | <CAKwdsS-C6mLWwMoZz+Qy5FLsaWT=knQQsBBQwErTceMvazMoGQ@mail.gmail.com> |
Subject: | Re: General scripting issues vs. Linux |
To: | cygwin AT cygwin DOT com |
X-Spam-Status: | No, score=-0.3 required=5.0 tests=BAYES_00, DKIM_SIGNED, |
DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, FREEMAIL_FROM, RCVD_IN_DNSWL_NONE, | |
SPF_HELO_NONE, SPF_PASS, TXREP autolearn=ham autolearn_force=no version=3.4.6 | |
X-Spam-Checker-Version: | SpamAssassin 3.4.6 (2021-04-09) on |
server2.sourceware.org | |
X-BeenThere: | cygwin AT cygwin DOT com |
X-Mailman-Version: | 2.1.29 |
List-Id: | General Cygwin discussions and problem reports <cygwin.cygwin.com> |
List-Archive: | <https://cygwin.com/pipermail/cygwin/> |
List-Post: | <mailto:cygwin AT cygwin DOT com> |
List-Help: | <mailto:cygwin-request AT cygwin DOT com?subject=help> |
List-Subscribe: | <https://cygwin.com/mailman/listinfo/cygwin>, |
<mailto:cygwin-request AT cygwin DOT com?subject=subscribe> | |
From: | Backwoods BC via Cygwin <cygwin AT cygwin DOT com> |
Reply-To: | Backwoods BC <completely DOT and DOT totally DOT trash AT gmail DOT com> |
Sender: | "Cygwin" <cygwin-bounces+archive-cygwin=delorie DOT com AT cygwin DOT com> |
X-MIME-Autoconverted: | from base64 to 8bit by delorie.com id 32AIiCg9010932 |
On Fri, Mar 10, 2023 at 8:16 AM Brian Inglis via Cygwin <cygwin AT cygwin DOT com> wrote: > > 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 As a matter of expediency, I always pass files through '| tr -d '\r' |' when reading them. This is harmless on Linux and you don't have to worry whether or not your target system has 'd2u' installed since I believe that 'tr' is part of all base installations. It also means you don't have to worry about whether or not a particular program handles '\r' automagically. I find that it is also a good idea to save all script files as UTF-8 so that they can handle Windows filenames with emojis and such in them when explicitly named in the script. -- Problem reports: https://cygwin.com/problems.html FAQ: https://cygwin.com/faq/ Documentation: https://cygwin.com/docs.html Unsubscribe info: https://cygwin.com/ml/#unsubscribe-simple
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |