Skip to content
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

update ABOUT.md #153

Merged
merged 4 commits into from
Feb 14, 2018
Merged

update ABOUT.md #153

merged 4 commits into from
Feb 14, 2018

Conversation

sjwarner-bp
Copy link
Contributor

Fixes #152

I'm open to suggestions for this, as I wasn't too sure what to write. Let me know if you think I've missed out any important points @exercism/bash

@budmc29
Copy link
Member

budmc29 commented Jan 29, 2018

It's a very good start.

I think it would be better to focus on describing the language more than telling the users why they should use it.
Most users that start using bash or shell know what they are getting into anyway.

Looking at other description documents, they follow a similar pattern:

  • Short introduction, definition style
  • Origins/Creator
  • Usage and more infoh

That seems like a good pattern for us as well.


From the creator's website https://tiswww.case.edu/php/chet/bash/bashtop.html and https://tiswww.case.edu/php/chet/bash/FAQ:

Bash is a Unix command interpreter (shell). It is an implementation of
the Posix 1003.2 shell standard, and resembles the Korn and System V
shells.

Bash contains a number of enhancements over those shells, both
for interactive use and shell programming. Features geared
toward interactive use include command line editing, command
history, job control, aliases, and prompt expansion. Programming
features include additional variable expansions, shell
arithmetic, and a number of variables and options to control
shell behavior.

Bash was originally written by Brian Fox of the Free Software
Foundation. The current developer and maintainer is Chet Ramey
of Case Western Reserve University.

From the GNU's page https://www.gnu.org/software/bash/:

Bash is the GNU Project's shell. Bash is the Bourne Again SHell. Bash is an sh-compatible shell that incorporates useful features from the Korn shell (ksh) and C shell (csh). It is intended to conform to the IEEE POSIX P1003.2/ISO 9945.2 Shell and Tools standard. It offers functional improvements over sh for both programming and interactive use. In addition, most sh scripts can be run by Bash without modification.

The improvements offered by Bash include:

Command line editing
Unlimited size command history
Job Control
Shell Functions and Aliases
Indexed arrays of unlimited size
Integer arithmetic in any base from two to sixty-four

Origin of name:

The shell's name is an acronym for Bourne-again shell, punning on the name of the Bourne shell that it replaces and on the term "born again".

Wiki description (why not?):

Bash is a command processor that typically runs in a text window, where the user types commands that cause actions. Bash can also read and execute commands from a file, called a script. Like all Unix shells, it supports filename globbing (wildcard matching), piping, here documents, command substitution, variables, and control structures for condition-testing and iteration. The keywords, syntax and other basic features of the language are all copied from sh. Other features, e.g., history, are copied from csh and ksh. Bash is a POSIX-compliant shell, but with a number of extensions.

@sjwarner-bp
Copy link
Contributor Author

I'll look to condense these into the description.

Some snippets above seem almost excessive in detail, and we should look to keep this intro somewhat concise - I'll update my PR this evening hopefully with the changes 🙂

@budmc29
Copy link
Member

budmc29 commented Jan 29, 2018

@kotp what do you think?

@kotp
Copy link
Member

kotp commented Jan 29, 2018

Looking forward to what @sjwarner-bp comes up with. Should we mention how to get help on bash in the terminal? Such as info bash or man bash to show folks how to get help on the built-ins.

I don't believe the mention of ls is warranted, as that is not a bash command. It is an external to bash tool. It is mentioned in the Bash manual, but not until talking about redirection.

@budmc29 budmc29 added the launch label Feb 2, 2018
@budmc29
Copy link
Member

budmc29 commented Feb 5, 2018

Any updates on this?

@sjwarner-bp
Copy link
Contributor Author

Been a bit ill recently - I'll get back on this as soon as! Wanted to make sure that it is done well 😉

@sjwarner-bp
Copy link
Contributor Author

I've added in a handful of the suggestions above. Let me know if you think I've missed any of the important bits (some of the paragraphs mentioned above had quite a bit of overlap).

docs/ABOUT.md Outdated
@@ -1,14 +1,14 @@
Bash is the language that you will learn to love! Many of your everyday computer tasks can be done using the concise scripts it can produce. You will soon learn that while most things can be done through a Graphical User Interface, it can actually be vastly faster to use this powerful language!
Bash is the language that you will learn to love! Many of your everyday computer tasks can be done using the concise scripts it can produce. You will soon learn that while most things can be done through a Graphical User Interface, it can actually be vastly faster to use this powerful language! The command processor typically runs in a text window, where users may input commands (operations may also come from some files, also known as Bash scripts).
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's have one sentence per line, as agreed to on exercism/meta/#84

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There is no other mention of a "command processor", but "command interpreter" is the term used in the citation, and further used in the rest of the content.

@@ -1,5 +1,24 @@
Although most users think of the shell as an interactive command interpreter, it is really a programming language in which each statement runs a command. Because it must satisfy both the interactive and programming aspects of command execution, it is a strange language, shaped as much by history as by design. —- Brian Kernighan & Rob Pike
Bash is the language that you will learn to love!
Copy link
Member

@budmc29 budmc29 Feb 12, 2018

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Needs two spaces for new line.

docs/ABOUT.md Outdated
> Although most users think of the shell as an interactive command interpreter, it is really a programming language in which each statement runs a command.
> Because it must satisfy both the interactive and programming aspects of command execution, it is a strange language, shaped as much by history as by design. —- Brian Kernighan & Rob Pike

_cite: Kernighan, Brian W.; Pike, Rob (1984). The UNIX Programming Environment. Englewood Cliffs: Prentice-Hall. ISBN 0-13-937699-2.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is _cite valid markdown syntax?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oops! Forgot the closing _ - I wanted it to be italicised.

I'll fix these tonight 🙂

@budmc29
Copy link
Member

budmc29 commented Feb 14, 2018

Looks good, thank you.

@budmc29 budmc29 merged commit b31966b into exercism:master Feb 14, 2018
@sjwarner-bp sjwarner-bp mentioned this pull request Feb 22, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants