Bạn đã bao giờ muốn học chưa scripting trong Linux? Làm cho chúng dễ dàng hơn bạn có thể nghĩ. Đôi khi các tập lệnh (thường được gọi là tập lệnh shell hoặc bash) là các chương trình thực với mã phức tạp bên trong. Những lần khác, chúng chỉ là một danh sách dài các nhiệm vụ mà người dùng tập hợp lại để hoàn thành công việc trong Linux nhanh hơn và dễ dàng hơn.

Trong bài viết này, chúng tôi đã quyết định thực hiện một hướng dẫn nhanh giải thích cách tạo một tập lệnh shell cơ bản trong Linux. Hướng dẫn này sẽ không biến bạn thành một Bash hoặc chuyên gia viết kịch bản. Thay vào đó, nó sẽ cho bạn thấy việc bắt đầu (và các phương pháp hay nhất) script trong Linux dễ dàng như thế nào.

Tại sao bạn lại tạo một kịch bản?

Tạo script trong Linux là một kỹ năng rất hữu ích cần có. Ngay cả khi bạn không hiểu đầy đủ về Bash, bạn có thể sử dụng kiến ​​thức hạn chế của mình về thiết bị đầu cuối để tự động hóa và mass-accomplish một số nhiệm vụ, hoặc đơn giản là mở nhiều ứng dụng đồng thời.

Ví dụ: có thể bạn vừa xây dựng Arch Linux từ đầu. Hệ điều hành được cài đặt cùng với tất cả các gói cơ bản và nó có thể khởi động vào thiết bị đầu cuối khi hệ điều hành khởi động. Arch Linux cần thời gian để thiết lập, vì vậy quá trình này vẫn chưa hoàn tất.

Đó là thời điểm mà người dùng có thể viết một tập lệnh Bash và hoàn thành mọi thứ cùng một lúc. Không có gì trong số này là lập trình, hoặc nâng cao cho vấn đề đó. Tuy nhiên, với thực tế là người dùng đã hiểu đủ về cách hoạt động của Arch Linux, họ có thể tự động hóa gần như toàn bộ quá trình hậu thiết lập (môi trường máy tính để bàn, trình điều khiển, thiết lập người dùng, v.v.).

Giới hạn duy nhất cho tập lệnh bash của bạn là kiến ​​thức về Linux và Bash của riêng bạn! Làm cho chúng dễ dàng hơn bạn có thể nghĩ.

Bắt đầu – Shebangs

Khi viết mã, mọi thứ cần được chỉ định và tải tài nguyên. Khi viết kịch bản với shell, một số thứ cũng cần được chỉ định. Trong kịch bản bash, điều này được gọi là shebang. Các shebang được sử dụng trong script cho script biết trình thông dịch mà nó sẽ thực thi theo. Đây có thể là Bash hoặc bất kỳ tập lệnh nào khác có sẵn trong hệ thống của bạn. Xin lưu ý rằng các ngôn ngữ khác nhau có shebangs riêng của chúng.

Ví dụ: Khi viết một tập lệnh Python, shebang sẽ là #!/usr/bin/python, Vân vân.

Bash có nhiều shebang khác nhau có thể được sử dụng, nhưng hầu hết người dùng có lẽ chỉ nhìn thấy #!/bin/bash một. Theo nguyên tắc chung, sử dụng #!/bin/bash khi viết một tập lệnh đơn giản và không có kế hoạch gỡ bỏ nó khỏi Linux. Tất cả các bản phân phối Linux hiện đại đều có cùng một phiên bản bash và bash shell thường nằm ở cùng một nơi.

Một shebang khác chứng tỏ bản thân nó hữu ích là #!/usr/bin/env bash shebang. Cái này được thiết kế cho tính di động và nên được sử dụng nếu tập lệnh được thiết kế để chạy trên các hệ điều hành giống Unix khác (BSD, macOS, v.v.).

Thực hành tốt nhất

Viết kịch bản trong Bash có thể là một quá trình phức tạp nếu người viết làm theo cách đó. Thông thường, các tập lệnh chỉ là một tập hợp các hoạt động khác nhau. Di chuyển tệp, tải xuống thứ gì đó, cài đặt chương trình và những thứ tương tự.

  • Hãy nhớ rằng Bash là một ngôn ngữ được thiết kế để thao tác với các tệp và quy trình trên hệ thống. Nếu Bash đáp ứng được nhu cầu của bạn thì điều đó là tốt. Tuy nhiên, hãy hiểu rằng đối với lập trình nâng cao, Bash thực sự không phải là lựa chọn phù hợp và tốt nhất là chuyển sang một thứ gì đó như Python.
  • Tạo tập lệnh của bạn SH tương thích và trong .sh nếu kế hoạch là sử dụng tập lệnh trên nhiều nền tảng Linux. Mặc dù các hệ điều hành giống UNIX khác có thể có bash-like vỏ, một số không có bash ở tất cả, và nó tốt để chuẩn bị cho điều này.
  • Tìm hiểu Bash shell và cách nó hoạt động. Nó sẽ giúp bạn viết kịch bản của mình tốt hơn.
  • Luôn sử dụng shebang và quan trọng hơn: sử dụng đúng. Nó có thể có nghĩa là sự khác biệt giữa một kịch bản tốt và một kịch bản tồi tệ không hoạt động đúng.
  • Luôn nhận xét mọi hoạt động. Trong sáu tháng, bạn có thể quay lại tập lệnh của mình và tự hỏi mọi thứ có ý nghĩa gì, vì vậy điều quan trọng là tập lệnh của bạn phải được ghi chép tốt và dễ hiểu (cho bạn và bất kỳ ai khác có thể xem nó).
  • Làm cho mã của bạn có thể đọc được. Ngay cả khi kịch bản của bạn không phải là bất cứ điều gì phức tạp, nó vẫn có ý nghĩa và việc tạo chúng dễ dàng hơn bạn nghĩ.
  • Kiểm tra lỗi tập lệnh của bạn trước khi đưa nó cho người khác. Đừng bắt người khác kiểm tra lỗi cho bạn. Lý tưởng nhất là các tập lệnh phải hoạt động trước khi bạn gửi chúng ra ngoài cho mọi người sử dụng.

Lập kịch bản

Để bắt đầu viết kịch bản, tất cả những gì bạn cần là một trình soạn thảo văn bản. Bất kỳ trình soạn thảo văn bản đơn giản nào cũng được – nó không cần phải là một trình soạn thảo phức tạp hay toàn diện. Đối với ví dụ này, hãy tạo một tập lệnh cập nhật Ubuntu đơn giản bằng Gedit.

Phần đầu tiên của kịch bản là shebang, như đã đề cập trước đây. Điều này cho phép tập lệnh cho trình thông dịch biết nó nên sử dụng gì để hiểu mã.

Tiếp theo, hãy viết bình luận. Điều này sẽ cho phép bất kỳ ai sử dụng tập lệnh hiểu được ý nghĩa của mã. Nhận xét có thể được thêm vào một tập lệnh bằng cách đặt một # Biểu tượng. Bất cứ điều gì sau đó sẽ không được chọn theo kịch bản.

Bây giờ là lúc để thêm mã vào tập lệnh. Trong trường hợp này đang làm việc để tạo một tập lệnh bash sẽ chạy hai lệnh cập nhật của Ubuntus liên tiếp. Bắt đầu bằng lệnh cập nhật nguồn phần mềm.

Phần thứ hai của kịch bản là apt upgrade. Lệnh này cho phép cài đặt các bản cập nhật đã kiểm tra trước đó. Thêm một -y cuối cùng để tập lệnh sẽ không cần bất kỳ sự tương tác nào của người dùng. Điều này sẽ cho phép lệnh tự cập nhật.

Lưu tập lệnh với .sh gia hạn. Ví dụ, myscript.sh.

Để chạy tập lệnh, hãy mở một thiết bị đầu cuối và nhập:

Thao tác này sẽ đánh dấu tập lệnh mới được tạo là có thể thực thi được. Thực hiện điều này với các tập lệnh không phải lúc nào cũng bắt buộc, vì đối với hầu hết các phần, Bash sẽ chạy nó bất cứ lúc nào. Bất kể, đây là một thực hành tốt khi viết kịch bản.

Để thực thi tập lệnh mới được tạo, hãy chạy lệnh sau:

linux-scripting-running-a-script

Phần mở rộng tệp

Không có sự khác biệt về phần mở rộng tệp cho các tập lệnh. Đặt tên tệp bằng .sh ít ảnh hưởng đến cách program chạy. Một tập lệnh Bash sẽ vẫn chạy mà không có phần mở rộng tệp – tệp văn bản trống và mọi thứ ở giữa miễn là có các lệnh và đối số phù hợp.

Mặc dù Bash shell bỏ qua phần mở rộng tệp, điều đó không có nghĩa là người viết kịch bản nên làm như vậy. Một số môi trường máy tính để bàn cho phép thiết lập các tập lệnh shell để chạy khi khởi động phụ thuộc vào tập lệnh để có các tập lệnh chính xác .sh. Điều này cũng giúp ích cho các mục đích tổ chức.

Khi nói đến nó, hầu hết các tập lệnh shell được lưu dưới dạng .sh các tệp để có thể di động. Các sh không liên quan gì đến bản thân Bash và tập lệnh có thể chạy với bất kỳ trình bao tương thích nào.

Ngoài ra, các tập lệnh có thể được lưu dưới dạng .bash, .ksh (Unix korn shell), v.v. Các phần mở rộng tệp này kém hơn và thực sự hạn chế tính hữu dụng của một tập lệnh. Điều này là do thực tế là chúng chỉ được thiết kế cho các shell sử dụng các phần mở rộng đó.

Tài nguyên mã

linux-scripting-bash-user-repository

Đối với những người đang tìm kiếm các tập lệnh Bash hữu ích, hãy xem Kho lưu trữ người dùng Bash trên Reddit. Đây là một bộ sưu tập các tập lệnh gọn gàng và hữu ích, được sử dụng và sửa đổi miễn phí!

Ngoài ra, những người muốn tìm hiểu bản chất nâng cao của Bash và lập trình với shell nên xem Freecode. Trang web có toàn bộ hướng dẫn bài học dạy mọi thứ cần biết về tập lệnh Bash nâng cao.

Sự kết luận

Mặc dù tập lệnh với Bash trên Linux không phải là một tính năng độc đáo (máy Mac cũng vậy), nó có xu hướng giúp người dùng Linux hiểu hơn về tổng thể. Xem xét rất nhiều Linux có thể được thực hiện dưới thiết bị đầu cuối, học cách thao tác với trình bao là rất hữu ích.

Bạn sử dụng tập lệnh Bash nào trong Linux để giúp cuộc sống của bạn dễ dàng hơn? Hãy cho chúng tôi biết bên dưới!

Hình ảnh tính năng: Jm3

Bài viết này có hữu ích không?

Previous articleHướng dẫn dành cho người mới bắt đầu về YouTube Analytics
Next articleHướng dẫn dành cho người tiêu dùng của bạn về Apple Care dành cho Mac – Có xứng đáng với mức giá không?