Lệnh exit trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh exit trong Linux để kết thúc một shell script và trả về các exit code cụ thể. Lệnh exit là một công cụ cơ bản cho việc giám sát và quản lý hệ thống, vì nó cho phép bạn kiểm soát luồng thực thi và cung cấp phản hồi về sự thành công hay thất bại của một script. Bạn sẽ khám phá mục đích của lệnh exit, học cách sử dụng nó để kết thúc một script và hiểu cách sử dụng các exit code khác nhau để thông báo trạng thái thực thi của script. Lab này cung cấp các ví dụ thực tế và kinh nghiệm thực hành với lệnh exit, đây là một kỹ năng thiết yếu cho các systemadmin và developer làm việc với shell scripts.

Tìm hiểu Mục đích của Lệnh exit

Trong bước này, bạn sẽ tìm hiểu về mục đích và cách sử dụng lệnh exit trong Linux. Lệnh exit được sử dụng để kết thúc một shell script hoặc một shell session, và nó cũng có thể được sử dụng để trả về một exit status cụ thể.

Lệnh exit thường được sử dụng trong shell scripts để chỉ ra sự thành công hay thất bại của script. Bằng cách sử dụng các exit code khác nhau, bạn có thể cung cấp thông tin về trạng thái thực thi của script cho process cha hoặc hệ thống.

Hãy bắt đầu bằng cách tìm hiểu cách sử dụng cơ bản của lệnh exit.

exit

Ví dụ đầu ra:

$ exit
exit

Trong ví dụ trên, lệnh exit được sử dụng mà không có bất kỳ đối số nào, có nghĩa là script hoặc shell session sẽ thoát với exit status hiện tại. Exit status mặc định là 0, cho biết thực thi thành công.

Bạn cũng có thể cung cấp một exit code làm đối số cho lệnh exit. Điều này cho phép bạn chỉ định một exit status cụ thể cho script hoặc shell session.

exit 1

Ví dụ đầu ra:

$ exit 1
exit

Trong trường hợp này, script hoặc shell session sẽ thoát với exit status là 1, thường chỉ ra một lỗi hoặc thất bại.

Lệnh exit có thể được sử dụng tại bất kỳ thời điểm nào trong một shell script hoặc shell session để kết thúc quá trình thực thi. Nó thường được sử dụng ở cuối một script để chỉ ra sự thành công hay thất bại chung của script.

Sử dụng Lệnh exit để Kết thúc Shell Script

Trong bước này, bạn sẽ học cách sử dụng lệnh exit để kết thúc một shell script.

Hãy tạo một shell script đơn giản minh họa cách sử dụng lệnh exit.

nano ~/project/script.sh

Thêm nội dung sau vào script:

#!/bin/bash

echo "Đây là phần bắt đầu của script."
exit 1
echo "Dòng này sẽ không được thực thi."

Lưu và đóng tệp.

Bây giờ, hãy chạy script:

chmod +x ~/project/script.sh
~/project/script.sh

Ví dụ đầu ra:

Đây là phần bắt đầu của script.

Như bạn có thể thấy, script đã kết thúc sau lệnh exit 1, và câu lệnh echo cuối cùng đã không được thực thi.

Lệnh exit 1 trong script chỉ ra rằng script đã gặp phải một lỗi hoặc không thực thi thành công. Exit status là 1 thường được sử dụng để đại diện cho một thất bại hoặc một điều kiện lỗi.

Bạn cũng có thể sử dụng lệnh exit để kết thúc script với exit status thành công là 0:

#!/bin/bash

echo "Đây là phần bắt đầu của script."
exit 0
echo "Dòng này sẽ được thực thi."

Trong trường hợp này, script sẽ kết thúc sau lệnh exit 0, nhưng câu lệnh echo cuối cùng sẽ được thực thi vì script đã thoát thành công.

Sử dụng Lệnh exit với Các Exit Code Khác nhau

Trong bước này, bạn sẽ học cách sử dụng lệnh exit với các exit code khác nhau để cung cấp thông tin chi tiết hơn về trạng thái thực thi của script.

Exit codes trong Linux là các giá trị số nguyên nằm trong khoảng từ 0 đến 255. Các exit code cụ thể có thể được sử dụng để chỉ ra các loại lỗi hoặc điều kiện thành công khác nhau trong shell scripts của bạn.

Hãy tạo một script minh họa cách sử dụng các exit code khác nhau:

nano ~/project/script.sh

Thêm nội dung sau vào script:

#!/bin/bash

## Kiểm tra xem người dùng có cung cấp đối số hay không
if [ "$#" -ne 1 ]; then
  echo "Cách sử dụng: $0 <tên_tệp>"
  exit 1
fi

## Kiểm tra xem tệp có tồn tại hay không
if [ ! -f "$1" ]; then
  echo "Lỗi: Không tìm thấy tệp: $1"
  exit 2
fi

## Đọc nội dung của tệp
content=$(cat "$1")
echo "Nội dung tệp: $content"

## Thoát với một exit code thành công
exit 0

Lưu và đóng tệp.

Bây giờ, hãy chạy script với các kịch bản khác nhau:

## Chạy script mà không có bất kỳ đối số nào
~/project/script.sh

Ví dụ đầu ra:

Cách sử dụng: ~/project/script.sh <tên_tệp>

Script thoát với exit code là 1 vì người dùng không cung cấp đối số bắt buộc.

## Chạy script với một tệp không tồn tại
~/project/script.sh non-existent.txt

Ví dụ đầu ra:

Lỗi: Không tìm thấy tệp: non-existent.txt

Script thoát với exit code là 2 vì tệp được chỉ định không tồn tại.

## Chạy script với một tệp hợp lệ
~/project/script.sh ~/project/script.sh

Ví dụ đầu ra:

Nội dung tệp: #!/bin/bash

## Kiểm tra xem người dùng có cung cấp đối số hay không
if [ "$#" -ne 1 ]; then
  echo "Cách sử dụng: $0 <tên_tệp>"
  exit 1
fi

## Kiểm tra xem tệp có tồn tại hay không
if [ ! -f "$1" ]; then
  echo "Lỗi: Không tìm thấy tệp: $1"
  exit 2
fi

## Đọc nội dung của tệp
content=$(cat "$1")
echo "Nội dung tệp: $content"

## Thoát với một exit code thành công
exit 0

Script thoát với exit code là 0 vì tệp đã được tìm thấy và script đã thực thi thành công.

Bằng cách sử dụng các exit code khác nhau, bạn có thể cung cấp thông tin chi tiết hơn về trạng thái thực thi của script, điều này có thể hữu ích cho việc xử lý lỗi và gỡ lỗi.

Tóm tắt

Trong lab này, bạn đã tìm hiểu về mục đích và cách sử dụng lệnh exit trong Linux. Lệnh exit được sử dụng để kết thúc một shell script hoặc một shell session, và nó cũng có thể được sử dụng để trả về một exit status cụ thể. Bạn đã hiểu cách sử dụng lệnh exit để chỉ ra sự thành công hay thất bại của một script bằng cách cung cấp các exit code khác nhau. Ngoài ra, bạn đã học cách sử dụng lệnh exit để kết thúc một shell script tại bất kỳ thời điểm nào trong quá trình thực thi của nó.

400+ câu lệnh phổ biến trong Linux