Ảnh chụp một Bash session | |
Thiết kế bởi | Brian Fox |
---|---|
Phát hành lần đầu | 8 tháng 6 năm 1989 |
Kho mã nguồn | |
Viết bằng | C |
Hệ điều hành | |
Nền tảng | GNU |
Ngôn ngữ có sẵn | Đa ngôn ngữ (gettext) |
Thể loại | Unix shell, ngôn ngữ dòng lệnh |
Giấy phép | GPLv3+[5] |
Website | www |
Bash là một Unix shell và ngôn ngữ dòng lệnh được viết bởi Brian Fox cho Dự án GNU như là một phần mềm thay thế miễn phí cho Bourne shell.[6][7] Được phát hành lần đầu tiên vào năm 1989,[8] nó đã được phân phối rộng rãi như là login shell mặc định cho hầu hết các bản phân phối Linux và macOS. Một phiên bản cũng có sẵn cho Windows 10.[9] Nó cũng là user shell mặc định trong Solaris 11.[10]
Bash là một bộ xử lý dòng lệnh thường chạy trong cửa sổ văn bản nơi người dùng gõ các lệnh thực thi. Bash cũng có thể đọc và thực thi các lệnh từ một file, được gọi là shell script. Giống như tất cả Unix shell, nó hỗ trợ tên file toàn cục (khớp ký tự đại diện), piping, here documents, command substitution, biến, và cấu trúc điều khiển để kiểm tra điều kiện và vòng lặp. Các từ khóa, cú pháp và các tính năng cơ bản khác của ngôn ngữ đều được sao chép từ sh. Các tính năng khác, ví dụ, lịch sử, được sao chép từ csh và ksh. Bash là một shell tương thích POSIX, nhưng có một số phần mở rộng.
Tên của shell là viết tắt của Bourne-again shell, một cách chơi chữ với tên của Bourne shell mà nó thay thế[11] and on the common term "born again".[12][13]
Một lỗ hổng bảo mật trong Bash có từ phiên bản 1.03 (tháng 8/1989),[14] được đặt tên là Shellshock, được phát hiện vào đầu tháng 9 năm 2014 và nhanh chóng dẫn đến một loạt các cuộc tấn công trên Internet.[15][16][17] Các bản vá để sửa lỗi đã được cung cấp ngay sau khi lỗi được tìm thấy.
Vào tháng 6 năm 2019, Apple đã thông báo rằng macOS Catalina (10.15) sẽ sử dụng Zsh làm shell mặc định, thay thế Bash.[18][19]
Brian Fox bắt đầu lập trình Bash ngày 10/1/1988[20] sau khi Richard Stallman trở nên không hài lòng với sự thiếu tiến bộ của nhà phát triển trước đó.[6] Stallman và Free Software Foundation (FSF) xem một shell miễn phí có thể chạy các shell script hiện có nên mang tính chiến lược đối với một hệ thống hoàn toàn tự do được xây dựng từ mã BSD và GNU, đây là một trong số ít các dự án mà họ tự tài trợ, với Fox đảm nhận công việc của một nhân viên của FSF.[6][21] Fox phát hành bản beta của Bash, phiên bản.99 ngày 8/6/1989[8] và vẫn là người duy trì chính cho đến khoảng giữa năm 1992[22] and mid-1994,[23] khi ông ấy bị sa thải khỏi FSF[24] và trách nhiệm của ông đã được chuyển sang một người đóng góp sớm khác, Chet Ramey.[25][26][27]
Từ đó, Bash trở thành shell phổ biến nhất trong cộng đồng Linux, trở thành shell tương tác mặc định trên các bản phân phối khác nhau của hệ đièu hành này (mặc dù Almquist shell có thể là scripting shell mặc định) và trên macOS của Apple.[28][29][30] Bash cũng được port đến Microsoft Windows được phân phối cùng Cygwin và MinGW, tới DOS bởi dự án DJGPP, đến Novell NetWare và tới Android thông qua các ứng dụng mô phỏng thiết bị đầu cuối khác nhau.
Tháng 9/2014, Stéphane Chazelas, một chuyên gia về Unix/Linux,[31] phát hiện một lỗi bảo mật trong chương trình. Lỗi này, lần đầu tiên được tiết lộ vào ngày 24 tháng 9, được đặt tên là Shellshock và gán các số CVE-2014-6271, CVE-2014-6277[32] và CVE-2014-7169. Lỗi này được coi là nghiêm trọng, vì các tập lệnh CGI sử dụng Bash có thể dễ bị tấn công, cho phép thực thi mã tùy ý. Lỗi này có liên quan đến cách Bash định nghĩa hàm cho các lớp con thông qua các biến môi trường.[33]
Bash is free software, distributed under the terms of the [GNU] General Public License as published by the Free Software Foundation, version 3 of the License (or any later version).
For a year and a half, the GNU shell was "just about done". The author made repeated promises to deliver what he had done, and never kept them. Finally I could no longer believe he would ever deliver anything. So Foundation staff member Brian Fox is now implementing an imitation of the Bourne shell.Đã bỏ qua tham số không rõ
|newsgroup=
(trợ giúp); Đã bỏ qua tham số không rõ |message-id=
(trợ giúp)
When Richard Stallman decided to create a full replacement for the then-encumbered Unix systems, he knew that he would eventually have to have replacements for all of the common utilities, especially the standard shell, and those replacements would have to have acceptable licensing.
|newsgroup=
(trợ giúp)
"Bourne Again Shell" is a play on the name Bourne Shell, which was the usual shell on Unix.
The name is a pun on the name of the Bourne shell (sh), an early and important Unix shell written by Stephen Bourne and distributed with Version 7 Unix circa 1978, and the concept of being "born again".
Birthdate: Sunday, January 10th, 1988. Initial author: Brian Fox
Free Software Foundation employees have written and maintained a number of GNU software packages. Two notable ones are the C library and the shell.... We funded development of these programs because the GNU Project was not just about tools or a development environment. Our goal was a complete operating system, and these programs were needed for that goal.
|newsgroup=
(trợ giúp); Đã bỏ qua tham số không rõ |message-id=
(trợ giúp)
|newsgroup=
(trợ giúp); Chú thích có tham số trống không rõ: |message-id=
(trợ giúp)
|newsgroup=
(trợ giúp); Chú thích có tham số trống không rõ: |message-id=
(trợ giúp)
|newsgroup=
(trợ giúp); Chú thích có tham số trống không rõ: |message-id=
(trợ giúp)
Bash is by far the most popular shell and forms the default shell on Linux and Mac OSX systems.
The Bourne Again Shell (bash) is the most common shell installed with Linux distributions.
In Linux, most users run bash because it is the most popular shell.