Cách thực thi Shell script trong Linux

Thực thi shell script trong Linux là một trong những kỹ năng thiết yếu mà mọi người dùng hoặc quản trị viên Linux cần nắm vững. Biết cách chạy script là vô cùng hữu ích để tự động hóa các tác vụ, thiết lập cron job hoặc chỉ đơn giản là cố gắng quản lý những hoạt động của hệ thống. Tuy nhiên, có một niềm vui nhất định khi viết các script không chỉ hoạt động mà còn thanh lịch và gọn gàng. Cùng tìm hiểu cách thực thi shell script trong Linux qua bài viết sau đây!

Shell script là gì?

Trước khi đi sâu vào thực thi, hãy tìm hiểu nhanh shell script là gì. Shell script là file văn bản chứa một chuỗi lệnh để shell dựa trên Unix, như Bash, thực thi. Về cơ bản, đây là một chương trình được viết bằng ngôn ngữ dòng lệnh của shell.

Cách thực thi Shell script trong Linux

Bước 1: Tạo một shell script đơn giản

Bước đầu tiên để thực thi một script, tất nhiên là viết ra script đó. Đối với ví dụ này, hãy tạo một script đơn giản "Hello, World!" và ngày hiện tại.

Mở terminal trên hệ thống Ubuntu và sử dụng trình soạn thảo văn bản yêu thích để tạo file mới. Ví dụ sử dụng nano để chỉnh sửa nhanh vì nó đơn giản, nhưng bạn có thể thích vim hơn nếu cần thứ gì đó mạnh mẽ hơn.

nano hello_world.sh

Bên trong trình soạn thảo, nhập script sau:

#!/bin/bash
echo "Hello, World!"
echo "Today's date is: 21/11/2024"

Script này thực hiện hai việc: In ra "Hello, World!" rồi hiển thị ngày hiện tại. #!/bin/bash ở trên cùng được gọi là shebang và nó cho hệ thống biết rằng script này phải được chạy trong shell Bash.

Bước 2: Làm cho script có thể thực thi

Theo mặc định, script bạn vừa tạo không thể thực thi. Bạn cần cấp quyền thực thi bằng lệnh chmod. Đây là một trong những bước dễ quên nhưng lại rất quan trọng.

chmod +x hello_world.sh

Tùy chọn +x làm cho script có thể thực thi được bởi người dùng, nhóm và những người khác, tùy thuộc vào thiết lập quyền của bạn.

Bước 3: Thực thi shell script

Bây giờ, bạn đã sẵn sàng để chạy script. Có một số cách để thực thi script trong Linux và bài viết sẽ đề cập đến các phương pháp phổ biến nhất:

Phương pháp 1: Thực thi bằng đường dẫn tương đối

Đây là phương pháp đơn giản nhất nếu bạn ở cùng thư mục với script:

./hello_world.sh

./ yêu cầu shell tìm script trong thư mục hiện tại. Nếu mọi việc diễn ra tốt đẹp, bạn sẽ thấy đầu ra sau:

Hello, World!
Today's date is: Tue Aug 8 14:22:31 UTC 2024

Phương pháp 2: Thực thi bằng đường dẫn tuyệt đối

Đôi khi, bạn sẽ cần chỉ định đường dẫn đầy đủ đến script, đặc biệt là nếu script nằm trong một thư mục khác.

/home/username/scripts/hello_world.sh

Phương pháp này rất tiện lợi khi chạy script từ các cron job hoặc trong những script khác.

Phương pháp 3: Thực thi bằng một shell cụ thể

Mặc dù shebang chỉ định shell nào sẽ sử dụng, bạn có thể ghi đè điều này bằng cách chạy script bằng một shell khác. Ví dụ, nếu muốn chạy script bằng sh thay vì bash, bạn có thể thực thi:

sh hello_world.sh

Hoặc, rõ ràng bằng bash:

bash hello_world.sh

Điều này có thể hữu ích khi kiểm tra cách script của bạn hoạt động trong các shell khác nhau.

Gỡ lỗi các sự cố phổ biến

Ngay cả các script đơn giản cũng có thể gặp sự cố. Sau đây là một số sự cố thường gặp và cách khắc phục:

  • Quyền bị từ chối: Nếu bạn thấy lỗi này, hãy kiểm tra lại xem bạn đã thực thi được script bằng lệnh chmod +x chưa.
  • Không tìm thấy lệnh: Điều này thường có nghĩa là dòng shebang của script bị thiếu hoặc không chính xác hay script không có trong PATH của bạn.
  • Script không chạy như mong đợi: Sử dụng bash -x theo sau là tên script để chạy script ở chế độ gỡ lỗi. Thao tác này sẽ hiển thị từng lệnh khi lệnh được thực thi, rất hữu ích để tìm ra lỗi ở đâu.

Thực thi shell script trong Linux là một nhiệm vụ cơ bản mở ra một thế giới tự động hóa và hiệu quả. Đối với các nhiệm vụ như quản lý máy chủ hoặc chỉ cố gắng tự động hóa một vài thứ trên máy cục bộ, shell script là một kỹ năng đáng để rèn luyện. Thật thỏa mãn khi thấy một script được xây dựng tốt chạy hoàn hảo, tiết kiệm thời gian và giảm khả năng xảy ra lỗi ở phía con người.

Chủ Nhật, 29/09/2024 10:00
31 👨 360
0 Bình luận
Sắp xếp theo
    ❖ Linux