Bash và Shell khác nhau như thế nào?

Mọi người cho em hỏi giữa hai ngôn ngữ Shell và Bash khác nhau như thế nào? Khi sử dụng terminal mình sử dụng ngôn ngữ Bash còn khi viết một chương trình chạy trên terminal thì chương trình này sẽ sử dụng Shell có phải không?

1 Answer(s)

Minh Phạm Minh Phạm

Câu hỏi của bạn đúng ra phải là sự khác biệt giữa BashSH. Do các khái niệm Shell, Bash và SH được sử dụng theo cách dễ gây ra nhầm lẫn nên mình giải thích sơ bộ về Shell, Bash và SH để bạn dễ hình dung.

Shell

Shell là chương trình (phần mềm) phát triển dành cho các máy tính chạy hệ điều hành Unix và Linux. Shell cung cấp giao diện cho phép người dùng nhập và chạy các câu lệnh dưới (dạng văn bản) trên máy tính.

Trên các máy tính Mac OS X hay Ubuntu thì chương trình Shell có tên là Terminal. Hoặc khi bạn tạo kết nối SSH tới máy chủ thì bạn cũng đang sử dụng chương trình Shell trên remote server (thường gọi là Console).

Bash và SH

Bash và SH là hai ngôn ngữ máy tính dùng để biên dịch câu lệnh được nhập trên Shell để máy tính có thể hiểu được.

SH là ngôn ngữ được ra đời đầu tiên dùng cho các chương trình Shell. Sau đó tới lượt Bash (GNU Bourne-Again SHell) với một số cái tiến hơn so với SH.

Kết Luận

Nói tóm lại bạn có thể hiểu một cách đơn giản như sau:

  • Shell: Là chương trình phần mềm chạy trên hệ điều hành Unix và Linux.
  • Bash và SH: Là ngôn ngữ sử dụng bởi Shell để biên dịch câu lệnh người dùng nhập vào sử dụng Terminal (trên máy tính local) hoặc Console (trên remote server).
Content must be at least 100 characters

Related Discussion