From 601e6f5d8b4a84f6028969ba59a07ca65a96f12b Mon Sep 17 00:00:00 2001 From: Egor Tensin Date: Wed, 28 Apr 2021 03:22:03 +0300 Subject: README: update --- README.md | 42 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 38 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index cccadb7..64ea975 100644 --- a/README.md +++ b/README.md @@ -21,8 +21,9 @@ Use it in your workflow like this: ls.exe -Al pwd.exe - # Alternatively, you can use Cygwin's bash as shell to write proper bash scripts: + # Alternatively, you can set Cygwin's bash as the shell to use: - run: | + # This is a real bash script! basic() { ls -Al pwd @@ -57,10 +58,43 @@ API The paths to the Cygwin binaries are added to the PATH variable. -Notes ------ +Line terminators +---------------- -1. Some packages install symlinks in /usr/bin along with real executables. +When using Cygwin's `bash` as the shell to run the step script, make sure that +`igncr` is present in the SHELLOPTS variable be either: + +* passing `-o igncr` to bash.exe, + + job: + name: Test job + runs-on: windows-latest + defaults: + run: + shell: C:\tools\cygwin\bin\bash.exe --login -o igncr '{0}' + steps: + - ... + +* or setting the SHELLOPTS variable in the `env:` block. + + job: + name: Test job + runs-on: windows-latest + env: + SHELLOPTS: igncr + defaults: + run: + shell: C:\tools\cygwin\bin\bash.exe --login '{0}' + steps: + - ... + +Please avoid using \r\n as line separators in your shell scripts, as Linux +shells will choke on them. + +Executable symlinks +------------------- + +Some packages install symlinks in /usr/bin along with real executables. An example is package "python3", which (as of January 2021) installs symlink `python3`, pointing to the real executable `python3.8.exe`. Calling Cygwin symlinks from Windows' command prompt is unsupported, but might -- cgit v1.2.3