Bash (Unix shell)

Опубликовано: 27 Июль 2026
на канале: 宇宙のすべての知識 プリンシピア
15
0

Bash (Unix shell), by Wikipedia https://en.wikipedia.org/wiki?curid=4547 / CC BY SA 3.0

#Unix_shells
#1989_software
#Cross-platform_free_software
#Domain-specific_programming_languages
#Free_software_programmed_in_C
#GNU_Project_software
#Scripting_languages
#Text-oriented_programming_languages
Bash (Unix shell)

Bash is a Unix shell and command language written by Brian Fox for the GNU Project as a free software replacement for the Bourne shell. First released in 1989, it has been distributed widely as the default login shell for most Linux distributions and Apple's macOS (formerly ). A version is also available for Windows 10. It is also the default user shell in Solaris 11.

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 shell 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.

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

A security hole in Bash dating from version 1.03 (August 1989), dubbed Shellshock, was discovered in early September 2014 and quickly led to a range of attacks across the Internet. Patches to fix the bugs were made available soon after the bugs were identified, but not all computers have been updated.

Brian Fox began coding Bash on January 10, 1988 after Richard Stallman became dissatisfied with the lack of progress being made by a prior developer. Stallman and the Free Software Foundation (FSF) considered a free shell that could run existing shell scripts so ...