Lệnh thoát Linux được giải thích cho người mới bắt đầu (có ví dụ)

theanh

Administrator
Nhân viên
Nếu bạn là người mới sử dụng Linux và công việc của bạn liên quan đến việc thực hiện các thao tác thông qua dòng lệnh, thì không cần phải nói rằng bạn phải dành nhiều thời gian trên cửa sổ terminal. Như bạn có thể đồng ý, có một số lệnh mà chúng ta có xu hướng sử dụng rất thường xuyên, như ls, cp và rm. Tuy nhiên, có một số lệnh khác ít được sử dụng hơn. Trong hướng dẫn này, chúng ta sẽ thảo luận về một lệnh ít được sử dụng như vậy: Exit.

Xin lưu ý rằng tất cả các ví dụ và hướng dẫn được đề cập trong bài viết này đã được thử nghiệm trên shell Bash chạy trên Ubuntu 22.04.

Lệnh thoát Linux​

Lệnh thoát cho phép bạn thoát khỏi shell tại nơi nó đang chạy.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22213%22%20height=%2263%22%3E%3C/svg%3E


Nếu cửa sổ shell của bạn có nhiều tab, thì lệnh này sẽ thoát khỏi tab nơi nó được thực thi. Vì đây là lệnh tích hợp, nên rất có thể bạn sẽ không tìm thấy trang hướng dẫn chuyên dụng cho lệnh thoát. Để truy cập tài liệu chính thức của nó, hãy thực hiện lệnh sau:
Mã:
help exit
Trên hệ thống của tôi, lệnh đã đề cập ở trên tạo ra đầu ra sau:
Mã:
exit: exit [n]
 Thoát khỏi shell.
 
 Thoát khỏi shell với trạng thái là N. Nếu N bị bỏ qua, trạng thái thoát
 là trạng thái của lệnh cuối cùng được thực thi.
Bây giờ, một số bạn có thể hỏi tại sao (hay đúng hơn là khi nào) N lại được yêu cầu. Vâng, giá trị - về cơ bản là trạng thái thoát - chủ yếu được sử dụng khi lệnh được sử dụng từ bên trong một tập lệnh (tập lệnh bash). Trong một số trường hợp, giá trị này được ánh xạ thành lỗi, cảnh báo hoặc thông báo mà con người có thể đọc được.

Ngoài ra, như đã thấy rõ từ đầu ra lệnh trợ giúp ở trên, nếu giá trị N không được chỉ định rõ ràng, trạng thái thoát của lệnh được thực thi cuối cùng sẽ được coi là giá trị đó.

Hãy lấy một ví dụ đơn giản: Những gì tôi đã làm là chuyển đổi tài khoản người dùng và nhập shell gốc:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22268%22%20height=%2265%22%3E%3C/svg%3E


Sau đó, tôi thoát khỏi shell bằng lệnh exit. Ngoài ra, tôi đã sử dụng 8 làm giá trị trạng thái thoát.


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22298%22%20height=%2293%22%3E%3C/svg%3E


Bây giờ, trong shell cha (nơi tôi đã trả về), tôi đã sử dụng lệnh sau để kiểm tra trạng thái thoát:
Mã:
echo $?

data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22293%22%20height=%22106%22%3E%3C/svg%3E


Vì vậy, bạn có thể thấy giá trị trạng thái này giống với giá trị được truyền cho lệnh thoát trong shell gốc. Vì vậy, theo cách này, chúng ta có thể truy cập trạng thái, sau đó thực hiện bất kỳ điều gì được dự định.

Bây giờ, đây là một ví dụ khác mà tôi không truyền rõ ràng bất kỳ trạng thái thoát nào từ shell gốc, nhưng khi truy vấn trong shell cha, trạng thái thoát của lệnh cuối cùng được chạy trong shell gốc đã được trả về:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22405%22%20height=%22123%22%3E%3C/svg%3E

Định nghĩa bẫy​

Nếu muốn, bạn cũng có thể định nghĩa một số hành động mà bạn muốn hệ thống thực hiện khi shell thoát. Ví dụ: bạn có thể muốn xóa một hoặc nhiều tệp khi thoát. Để làm được điều này, bạn phải đặt một trap, bạn có thể thực hiện theo cách sau:
Mã:
trap "ENTER-COMMAND-HERE" EXIT
Vì vậy, bất kỳ hành động nào bạn muốn hệ thống thực hiện khi thoát, bạn cần chỉ định lệnh tương ứng trong dấu ngoặc kép ở trên. Ví dụ, tôi đã sử dụng lệnh sau:
Mã:
trap "rm hypotheticalfile.txt" EXIT
Thực tế là không có tệp nào như vậy tồn tại trên hệ thống của tôi, vì vậy sau khi lệnh thoát được thực thi, shell sẽ hiển thị lỗi cho lệnh này. Và đó là những gì thực sự đã xảy ra - hãy xem bên dưới:


data:image/svg+xml,%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20width=%22550%22%20height=%2281%22%3E%3C/svg%3E


Theo cách này, bạn có thể đặt bẫy khi thoát. Để biết thêm thông tin về bẫy, hãy chạy lệnh sau:
Mã:
help trap

Kết luận​

Không có nhiều đường cong học tập khi nói đến lệnh thoát, đặc biệt nếu bạn là người mới bắt đầu sử dụng dòng lệnh. Và có lẽ bạn sẽ đồng ý với điều này ngay bây giờ. Vì vậy, hãy nhanh chóng thử những gì chúng ta đã thảo luận ở đây và bắt đầu sử dụng lệnh thoát (nếu bạn chưa làm điều đó). Trong trường hợp có bất kỳ thắc mắc hoặc câu hỏi nào, hãy để lại bình luận bên dưới. Bạn đã biết lệnh tee chưa? Nếu chưa, hãy xem nó được sử dụng để làm gì.
 
Back
Bên trên