Cách viết Shell Script trong Linux/Unix
Shell Scripting là một chương trình máy tính mã nguồn mở được thiết kế để chạy bởi Unix/Linux shell. Shell Scripting là chương trình viết một chuỗi lệnh để shell thực thi. Nó có thể kết hợp các chuỗi lệnh dài và lặp đi lặp lại thành một tập lệnh duy nhất và đơn giản có thể được lưu trữ và thực thi bất cứ lúc nào.
Trong bài viết này, bạn sẽ được tìm hiểu các kiến thức cơ bản về chương trình Linux/Unix shell scripting đến các khái niệm nâng cao về Shell Scripting. Bài viết được thiết kế cho người mới bắt đầu và các chuyên gia muốn tìm hiểu Shell Scripting là gì? Cách hoạt động của shell scripting, các loại shell và nhiều thứ khác nữa.
Shell là gì?
Shell là một thuật ngữ UNIX chỉ giao diện giữa người dùng và dịch vụ (service) hệ điều hành. Shell cung cấp cho người dùng một giao diện và chấp nhận các lệnh mà người dùng đưa vào hệ thống và thực thi các lệnh đó tự động, cung cấp kết quả của chương trình trong một tập lệnh shell.
Một hệ điều hành được tạo ra từ nhiều thành phần, nhưng hai thành phần chính của nó là:
- Kernel
- Shell
Kernel là hạt nhân của máy tính. Nó giúp hệ thống có thể giao tiếp giữa phần cứng và phần mềm. Trong khi Kernel là phần trong cùng của hệ điều hành, thì shell là phần ngoài cùng.
Shell trong hệ điều hành Linux nhận đầu vào từ phía client dưới dạng lệnh, xử lý nó và sau đó xuất kết quả đầu ra. Nó là giao diện mà thông qua đó người dùng có thể làm việc trên các chương trình, lệnh và tập lệnh. Shell được truy cập bằng terminal.
Khi bạn chạy terminal, Shell đưa ra một dấu nhắc lệnh (thường là $), nơi bạn có thể nhập lệnh, sau đó sẽ được thực thi khi bạn nhấn phím Enter. Đầu ra hoặc kết quả sau đó sẽ được hiển thị trên terminal.
Shell bao bọc xung quanh phần bên trong mỏng manh của Hệ điều hành, bảo vệ hệ điều hành khỏi bị hư hỏng do tai nạn. Do đó nó có tên gọi là Shell.
Các loại shell
Có hai loại shell chính trong Linux:
- Bourne Shell: Dấu nhắc cho shell này là $ và các shell con gồm:
- POSIX shell còn được gọi là sh
- Korn Shell cũng được gọi là sh
- Bourne Again Shell còn được gọi là bash (phổ biến nhất)
- C shell: Dấu nhắc cho shell này là% và các loại khác nhau như
- C shell còn được gọi là csh
- Top C shell còn được gọi là tcsh
Chúng ta sẽ thảo luận về shell scripting dựa trên bash shell trong bài viết này.
Cách viết Shell Script trong Linux/Unix
Shell Scripts được viết bằng các text editors (trình soạn thảo văn bản). Trên hệ thống Linux, hãy mở một chương trình editors, mở một tệp mới để bắt đầu nhập tập lệnh shell hoặc lập trình shell, sau đó cấp quyền cho shell để thực thi shell script và đặt tập lệnh của bạn tại vị trí mà shell có thể tìm thấy.
Các bước tạo Shell Script:
- Tạo tệp bằng vi editor (hoặc bất kỳ trình chỉnh sửa văn bản nào khác). Đặt tên cho tệp script phải có đuôi là .sh
- Bắt đầu script bằng #! /bin/sh
- Viết một vài dòng code
- Lưu file script dưới dạng filename.sh
- Thực thi file script bằng lệnh bash filename.sh
“#!” là một toán tử được gọi là shebang hướng tập lệnh đến vị trí trình thông dịch. Vì vậy, nếu chúng ta sử dụng “#! /bin/sh”, tập lệnh sẽ được chuyển hướng đến bourne-shell.
Hãy tạo một script nhỏ:
#!/bin/sh
ls
Các bước để tạo chương trình Shell Script trong Linux / Unix:
Lệnh ‘ls’ được thực thi khi chúng ta thực thi file scrip sample.sh.
Thêm shell comments
Commenting là yếu tố rất quan trọng trong bất kỳ chương trình nào. Trong lập trình Shell, cú pháp để thêm comments là, nội dung sau dấu # sẽ không có giá trị, mục đích là giải thích code của tác giả.
#comment
Ví dụ:
Biến trong Shell là gì?
Như đã thảo luận trước đó, biến lưu trữ dữ liệu dưới dạng ký tự và số. Tương tự, các biến Shell được sử dụng để lưu trữ thông tin và chúng chỉ hoạt động trong shell.
Ví dụ: tạo một biến shell và sau đó in nó ra:
variable ="Hello"
echo $variable
Dưới đây là một script nhỏ sẽ sử dụng biến:
#!/bin/sh
echo "what is your name?"
read name
echo "How do you do, $name?"
read remark
echo "I am $remark too!"
Các bước tạo và thực thi script:
Như bạn thấy, chương trình đã chọn giá trị của biến ‘name’ là “Joy” và ‘remark’ là “excellent”.
Đây là một script đơn giản. Bạn có thể phát triển các script nâng cao chứa các câu lệnh, vòng lặp và hàm có điều kiện. Shell Script sẽ giúp cho cuộc sống của bạn và việc quản trị Linux trở nên dễ dàng hơn.