Sunday, January 19, 2025

[Bash] Lesson 1- Bash là gì?

-

Hướng dẫn lập trình Bash

Hướng dẫn lập trình Bash cung cấp các khái niệm cơ bản và nâng cao của lập trình Shell Bash. Hướng dẫn này được thiết kế cho người mới bắt đầu và chuyên sâu.

Bash (Bourne Again Shell) là một chương trình shell. Nó được viết bởi Brian Fox như là một phiên bản cải tiến của chương trình Bourne Shell ‘sh’. Đây là một dự án mã nguồn mở GNU. Nó cung cấp các cải tiến chức năng so với Bourne Shell cho cả lập trình và sử dụng tương tác.

Hướng dẫn Shell Bash của mình bao gồm tất cả các chủ đề Bash như lập trình Bash, biến, vòng lặp, câu lệnh điều kiện, tham số vị trí, toán học, hàm, chuỗi, v.v.

Điều kiện tiên quyết

Trước khi học Shell Bash, bạn phải có kiến thức cơ bản về Hệ điều hành Linux hoặc nếu tốt thì nên có ít nhất một ngôn ngữ lập trình nào đó.

Đối tượng

Hướng dẫn lập trình Bash của tôi được thiết kế để giúp đỡ người mới bắt đầu và các chuyên gia.

Vấn đề

Chúng tôi đảm bảo rằng bạn sẽ không gặp bất kỳ vấn đề gì trong hướng dẫn này. Nhưng nếu bạn phát hiện bất kỳ lỗi nào, vui lòng gửi vấn đề bạn gặp phải vào comment ở cuối bài viết.

Bash là gì?

BASH là từ viết tắt của Bourne Again Shell, là một cái tên đùa, tưởng nhớ đến Bourne Shell (tức là được phát minh bởi Steven Bourne).

Bash là một chương trình shell được viết bởi Brian Fox như là một phiên bản nâng cấp của chương trình Bourne Shell ‘sh’. Nó là một dự án GNU mã nguồn mở. Nó được phát hành vào năm 1989 và trở thành một trong những bản phân phối shell phổ biến nhất của các hệ thống GNU/Linux. Nó cung cấp các cải tiến chức năng so với Bourne Shell cho cả mục đích lập trình và sử dụng tương tác. Nó bao gồm chỉnh sửa dòng lệnh, phím tắt, lịch sử lệnh với kích thước không giới hạn, vv.

Một cách đơn giản, Bash là một trình thông dịch dòng lệnh thường chạy trong terminal, trong đó người dùng có thể nhập các lệnh để thực hiện các hành động khác nhau. Sự kết hợp của các lệnh này thành một chuỗi trong một file được gọi là Shell Script. Bash có thể đọc và thực thi các lệnh từ một Shell Script.

Bash là shell có sẵn mặc định cho hầu hết các bản phân phối Linux và hệ điều hành macOS của Apple.

Bây giờ hãy xem Shell được biết đến như thế nào.

Shell: Một UNIX Shell là một chương trình hoặc trình thông dịch dòng lệnh, dịch các lệnh của người dùng được nhập trực tiếp bởi người dùng hoặc có thể đọc từ một file (tức là Shell Script) và sau đó chuyển chúng cho hệ điều hành để xử lý. Quan trọng là lưu ý rằng các Shell script được dịch và không được biên dịch, vì hệ thống máy tính sẽ dịch chúng và không cần phải biên dịch Shell Script để thực thi.

Có nhiều loại Shell khác nhau có sẵn trong các hệ thống hoạt động Linux. Một số trong số đó là:

  • Bourne Shell
  • C shell
  • Korn Shell
  • GNU Bourne Shell

Lịch sử của Bash.

Trước đây, hầu hết phần mềm trong thế giới UNIX đều là độc quyền và đóng nguồn. Hệ thống UNIX cũng không được phát hành mã nguồn mở, do đó, bạn phải sử dụng một cái shell. Lúc đó có một shell được gọi là “Bourne Shell” dưới lệnh /bin/sh, đây là một phần mềm độc quyền và đóng nguồn. Bourne là tên của người phát minh ra shell này – Steven Bourne. Richard Stallman tại thời điểm đó bắt đầu dự án GNU với Free Software Foundation (FSF) để tạo ra một hệ điều hành tương thích với UNIX với mục đích làm mọi thứ đều trở thành mã nguồn mở. Tuy nhiên, chưa có sự tiến triển trong cuộc cách mạng này. Ông cần một shell miễn phí có thể chạy các shell script hiện có. Điều này là cần thiết cho một hệ thống hoàn toàn mã nguồn mở được xây dựng là một trong số ít các dự án mà ông tài trợ với FSF. Sau đó, vào ngày 10 tháng 1 năm 1988, Brian Fox (nhân viên của FSF) bắt đầu viết mã Bash và phát hành Bash như phiên bản beta, phiên bản 0.99 vào ngày 8 tháng 6 năm 1989. Brian Fox tiếp tục giữ vai trò người duy trì Bash chính cho FSF cho đến năm 1993. Sau đó, anh ta bị sa thải khỏi FSF và Chet Ramey (đóng góp trước đó cho FSF) được giao trách nhiệm. Tiếp theo, vào ngày 23 tháng 12 năm 1996, Chet Ramey phát hành phiên bản Bash 2.0 cho công chúng với một loạt các tính năng mới hơn so với phiên bản Bash cũ. Hiện nay, Chet Ramey được biết đến là người duy trì chính thức của Bash và anh ta tiếp tục cải tiến thêm trong Bash. Bash là shell tiêu chuẩn được bao gồm trong các bản phân phối Linux. Nó là shell phổ biến nhất được biết đến hiện nay với tính năng mã nguồn mở và nhiều tính năng hiệu quả khác mà chúng ta sẽ đọc trong các chủ đề tiếp theo. Nó có sẵn cho các bản phân phối Linux, macOS, Solaris 11 và cả Windows 10. Nó đang cung cấp nhiều tính năng và cải tiến giúp cho người dùng có được trải nghiệm tốt nhất. Bash đang ngày càng phát triển với nhiều tính năng mới, hiện tại chúng ta có phiên bản bash mới nhất là bash-5.0 với nhiều tính năng mới.

Các tính năng của Bash.

Bash có tính năng tương thích với sh, vì nó được phát triển từ Bourne Shell gốc của UNIX. Nó được tích hợp với những tính năng tốt và hữu ích của Korn và C shell như điều khiển thư mục, kiểm soát công việc, bí danh, vv. Bash có thể được gọi bằng các tùy chọn dòng lệnh một ký tự (-a, -b, -c, -i, -l, -r, vv.) cũng như bằng các tùy chọn dòng lệnh đa ký tự như –debugger, –help, –login, vv. Các file khởi động của Bash là các tập lệnh mà Bash đọc và thực thi khi khởi động. Mỗi file có sử dụng cụ thể của nó và bộ sưu tập các file này được sử dụng để tạo môi trường. Bash bao gồm các ràng buộc phím bấm, bằng cách đó bạn có thể thiết lập các chuỗi phím chỉnh sửa tùy chỉnh. Bash bao gồm các mảng một chiều giúp bạn dễ dàng tham chiếu và thao tác với danh sách dữ liệu. Bash bao gồm các cấu trúc điều khiển như construct select được sử dụng đặc biệt để tạo ra các menu. Bash cũng bao gồm chế độ hạn chế để bảo mật môi trường. Một shell sẽ bị hạn chế nếu bash bắt đầu với tên rbash, hoặc tùy chọn bash –restricted, hoặc bash -r được truyền vào khi khởi động.

Để biết hệ thống hoạt động của bạn hỗ trợ những loại shell nào, hãy nhập lệnh vào cửa sổ terminal như sau:

cat /etc/shells    

Và để biết vị trí bash được đặt trong hệ điều hành của bạn, nhập lệnh dưới đây và bạn sẽ nhận được một vị trí cụ thể:

which bash

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories