File script chứa lệnh được thực thi bởi chương trình hoặc scripting engine. Lệnh chạy không cần biên dịch. Hướng dẫn viết bằng ngôn ngữ scripting cho môi trường runtime. Nhiều ngôn ngữ scripting với mục đích khác nhau. Bài viết tập trung vào ngôn ngữ bash scripting dùng trên Linux. File chứa lệnh/cú pháp bash còn gọi file SH hoặc Shell Script file.
File SH trong Linux là gì?
File script thường tạo và lưu bằng ngôn ngữ bash vì hướng dẫn viết bằng ngôn ngữ đó, đuôi .sh. Bất kỳ lệnh nào chạy trên Terminal đều có thể bỏ vào file script để thực thi. Nếu có chuỗi lệnh hay chạy, bỏ vào script và gọi script.
File script không bắt buộc đuôi .sh. Linux khác Windows: dòng code đầu tiên gọi shebang đủ để chương trình nhận diện là script. Dùng .sh là quy ước phổ biến nhưng không bắt buộc. Để nhận diện file script thì không cần đuôi, cũng không mất tính linh hoạt.
Cách tạo file SH?
Tương tự file code khác dùng trình soạn thảo văn bản đơn giản. Cần biết lệnh và cú pháp bash. Quan trọng nhất: file script bash phải bắt đầu bằng shebang:
#!/bin/bash
Dòng đầu tiên làm file bash script có thể thực thi. Kiểm tra vị trí bash interpreter:
which bash
Cần lệnh để hệ thống nhận quyền thực thi file (có thể không cần thiết tùy trường hợp):
chmod +x filename
Lưu ý: Filename là tên bất kỳ bạn đặt cho file.
Thực thi file SH qua Terminal trên Linux
Chạy file SH bằng lệnh văn bản trong Terminal. Cú pháp code trong file SH phải đúng trước khi chạy. Dùng code mẫu minh họa.
- Mở trình soạn thảo văn bản bất kỳ.
- Gõ code mẫu, lưu với hoặc không đuôi sh:
#!/bin/bash echo Hello, appuals users! #echo dùng hiển thị dòng text echo What is your name? #Chương trình yêu cầu nhập echo what #User nhập input echo Hello, $what! #In input kèm text
Lưu ý: Đọc comment hiểu từng dòng.
- Mở Terminal (Ctrl + Alt + T).
- Vài lệnh chạy file script:
./appuals
sh appuals
bash appuals
Lưu ý: Tên file tùy ý. Ví dụ đặt tên appuals không đuôi. Đảm bảo đang ở đúng thư mục chứa file.
- Nếu file không chạy, dùng chmod cấp quyền thực thi. Nếu hệ thống đã nhận diện thì bỏ qua:
chmod +x appuals
