-
Notifications
You must be signed in to change notification settings - Fork 521
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Updated macOS instructions for 10.15 (Catalina) #632
Conversation
Bash is not default any more, it's now zsh. Used Linux instructions as template for telling users how to run it.
Could someone from @carpentries/lesson-infrastructure-committee with Catalina confirm that these instructions are accurate? |
I'm not from the infrastructure committee, but the Mac instructions at http://swcarpentry.github.io/shell-novice/setup.html have had Catalina language in them for about a month. I don't see anything wrong with the instructions in this PR, but you could also borrow language from the setup page instead. |
For what it's worth - if the language needs adjusting for this then the Linux instructions also need changing since I just copied and pasted (substituting Mac OS for Linux) from the instructions provided for Linux users without bash as their default shell. |
In the original PR comments, there was a rationale for leaving the Linux instructions alone, as all the distributions I checked used |
Um... some Linux distros use Dash by default |
For scripts using |
Oh, so Dash is used for non-interactive shells and Bash for interactive ones... good to know! Thank you! |
I wasn't aware of that change - why are we duplicating instructions in separate repositories (which are now out of sync, it seems)? Regarding "leaving the Linux instructions alone" - the Linux instructions in this repo already include exactly what the other pull request said not to include (these instructions for running bash if it is not the default). My point is that that this PR is an almost word-for-word copy of the existing instructions in the same file in this repo for Linux users so if this wording is wrong for MacOS it follows the existing wording I copied (for Linux users whose default shell is not bash, a few lines away in the same file) also need reviewing. |
Added how to detect if bash is not the default shell and then run it.
Merged interim changes from gh-pages to my fork has fixed it. |
I've replaced both the macOS and Linux instructions here with similar language. I'm now concerned about the duplication of information as collectively we're failing to keep the setup instructions in both places in sync - I think I'll open an issue about that, so we can keep this PR focused on getting the macOS instructions up to date. It's slightly embarrassing how long after Apple changed the default we are still giving attendees the wrong instructions on the front page of workshops. |
#!/bin/sh is often not bash these days (there was a time many distros symlinked /bin/sh to /bin/bash), and if bash is invoked as 'sh' it has always entered "sh emulation mode" which disables many of it's advanced (and desirable) features. This relates to swcarpentry/shell-novice#927 which is a quagmire of an issue and, essentially, boils down to "is shell-novice a bash course or a sh (the POSIX shell) course?" - a question that a clear decision has not yet been reached. |
Merge origin/master
Deploy preview for zen-ride-08ffd1 ready! Built with commit 0625f10 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a good change, but I don't have mac or anyone around me with Catalina to personally view it working. @mikerenfro's point that these instructions have been successful in a lesson's setup page is good enough for me
Not certain about successful, but at least painstakingly reviewed and approved over at the setup page. I won't get to run my first workshop until January. |
Thank you all for these changes! |
Bash is not default any more, it's now zsh. Used Linux instructions as template for telling users how to run it.