Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

10 mẹo hữu ích để viết tập lệnh Bash hiệu quả trong Linux

Shell scripting là hình thức lập trình dễ dàng nhất mà bạn có thể học / làm trong Linux. Hơn thế nữa, đây là một kỹ năng cần thiết đối với quản trị hệ thống để tự động hóa các tác vụ, phát triển các tiện ích / công cụ đơn giản mới chỉ đề cập đến một số ít.

Trong bài viết này, chúng tôi sẽ chia sẻ 10 mẹo hữu ích và thiết thực để viết các tập lệnh bash hiệu quả và đáng tin cậy và chúng bao gồm:

1. Luôn sử dụng chú thích trong tập lệnh

Đây là cách thực hành được khuyến nghị không chỉ áp dụng cho kịch bản shell mà tất cả các loại lập trình khác. Viết nhận xét trong một tập lệnh giúp bạn hoặc một số người khác xem qua tập lệnh của bạn hiểu được các phần khác nhau của tập lệnh làm gì.

Đối với người mới bắt đầu, nhận xét được xác định bằng cách sử dụng # ký tên.

#TecMint is the best site for all kind of Linux articles

2. Thoát tập lệnh khi bị lỗi

Đôi khi bash có thể tiếp tục thực thi một tập lệnh ngay cả khi một lệnh nào đó bị lỗi, do đó ảnh hưởng đến phần còn lại của tập lệnh (cuối cùng có thể dẫn đến lỗi logic). Sử dụng dòng bên dưới để thoát tập lệnh khi lệnh không thành công:

#let script exit if a command fails
set -o errexit 
OR
set -e

3. Thoát tập lệnh khi Bash sử dụng biến không khai báo

Bash cũng có thể cố gắng sử dụng một tập lệnh không được khai báo có thể gây ra lỗi logic. Do đó, hãy sử dụng dòng sau để hướng dẫn bash thoát một tập lệnh khi nó cố gắng sử dụng một biến chưa được khai báo:

#let script exit if an unsed variable is used
set -o nounset
OR
set -u

4. Sử dụng dấu ngoặc kép cho các biến tham chiếu

Sử dụng dấu ngoặc kép trong khi tham chiếu (sử dụng giá trị của một biến) giúp ngăn việc tách từ (liên quan đến khoảng trắng) và dấu chấm tròn không cần thiết (nhận dạng và mở rộng các ký tự đại diện).

Hãy xem ví dụ dưới đây:

#!/bin/bash
#let script exit if a command fails
set -o errexit 

#let script exit if an unsed variable is used
set -o nounset

echo "Names without double quotes" 
echo
names="Tecmint FOSSMint Linusay"
for name in $names; do
        echo "$name"
done
echo

echo "Names with double quotes" 
echo
for name in "$names"; do
        echo "$name"
done

exit 0

Lưu tệp và thoát, sau đó chạy nó như sau:

$ ./names.sh
10 mẹo hữu ích để viết tập lệnh Bash hiệu quả trong Linux

5. Sử dụng các hàm trong Scripts

Ngoại trừ các tập lệnh rất nhỏ (với một vài dòng mã), hãy luôn nhớ sử dụng các hàm để mô-đun hóa mã của bạn và làm cho các tập lệnh dễ đọc hơn và có thể sử dụng lại.

Cú pháp để viết các hàm như sau:

function check_root(){
	command1; 
	command2;
}

OR
check_root(){
	command1; 
	command2;
}

Đối với mã dòng đơn, hãy sử dụng các ký tự kết thúc sau mỗi lệnh như sau:

check_root(){ command1; command2; }

6. Sử dụng =thay vì ==cho các so sánh chuỗi

Lưu ý rằng == là từ đồng nghĩa với = , do đó chỉ sử dụng một = để so sánh chuỗi, ví dụ:

value1=”tecmint.com”
value2=”fossmint.com”
if [ "$value1" = "$value2" ]

7. Sử dụng $ (command) thay vì 'command' kế thừa để thay thế

Thay thế lệnh thay thế một lệnh bằng đầu ra của nó. Sử dụng $(command) thay vì dấu ngoặc kép `command` để thay thế lệnh.

Điều này được khuyến nghị ngay cả bởi công cụ shellcheck (hiển thị các cảnh báo và đề xuất cho các tập lệnh shell). Ví dụ:

user=`echo “$UID”`
user=$(echo “$UID”)

8. Sử dụng chế độ chỉ đọc để khai báo các biến tĩnh

Một biến tĩnh không thay đổi; không thể thay đổi giá trị của nó một khi nó được xác định trong một tập lệnh:

readonly passwd_file=”/etc/passwd”
readonly group_file=”/etc/group”

9. Sử dụng tên chữ hoa cho các biến ENVIRONMENT và chữ thường cho các biến tùy chỉnh

Tất cả các biến môi trường bash đều được đặt tên bằng chữ hoa, do đó, hãy sử dụng chữ thường để đặt tên cho các biến tùy chỉnh của bạn để tránh xung đột tên biến:

#define custom variables using lowercase and use uppercase for env variables
nikto_file=”$HOME/Downloads/nikto-master/program/nikto.pl”
perl “$nikto_file” -h  “$1”

10. Luôn thực hiện gỡ lỗi cho các tập lệnh dài

Nếu bạn đang viết các tập lệnh bash với hàng nghìn dòng mã, việc tìm kiếm lỗi có thể trở thành một cơn ác mộng. Để dễ dàng sửa chữa mọi thứ trước khi thực hiện một tập lệnh, hãy thực hiện một số gỡ lỗi. Nắm vững mẹo này bằng cách đọc qua các hướng dẫn được cung cấp bên dưới:

  1. Cách bật Chế độ gỡ lỗi tập lệnh Shell trong Linux
  2. Cách thực hiện chế độ gỡ lỗi kiểm tra cú pháp trong tập lệnh Shell
  3. Cách theo dõi việc thực thi các lệnh trong Shell Script với Shell Tracing

Đó là tất cả! Bạn có bất kỳ phương pháp viết kịch bản bash tốt nhất nào khác để chia sẻ không? Nếu có, hãy sử dụng biểu mẫu nhận xét bên dưới để thực hiện điều đó.