có nghĩa là gì khi tôi gõ $? trong unix


1

Ai đó có thể vui lòng cho tôi biết ý nghĩa của nó khi tôi gõ $?Unix không?

root@kb:~# echo $?
127

root@kb:~# wc -l

root@kb:~#

root@kb:~# echo $?

130

3
Xem man bash. $?là mã thoát của đường ống tiền cảnh được thực hiện cuối cùng (ví dụ: một lệnh đơn giản).
choroba

Cảm ơn bạn. Vì vậy, chỉ tò mò muốn biết 130 hoặc 127 có nghĩa là gì và điều này giúp gì cho quản trị hệ thống? Khi tôi thử tôi đã nhận được điều này. ví dụ - đối với lệnh ls, nó luôn đến 0 đối với lệnh rm, nó luôn luôn đến 1
Pankaj Kumar

Có lẽ đó là giá trị trả về cho lệnh chạy trước đó.
Pimp Juice IT

Bạn sẽ phải kiểm tra trang man cho mỗi lệnh để xác định trạng thái thoát nghĩa là gì. Nói chung, số không có nghĩa là thành công và khác không có nghĩa là một loại thất bại.
glenn jackman

tìm kiếm "$ là gì trong linux" cung cấp cho bạn hàng tấn câu trả lời ngay trên trang đầu tiên. trùng lặp: Ý nghĩa của $? trong tập lệnh shell , $ là gì? trong bash?
phuclv

Câu trả lời:


4

Như các bình luận nói, "$?" giữ mã trạng thái trả về từ lệnh cuối cùng được thực thi. Mỗi lệnh có thể trả về bất kỳ giá trị nào nó muốn và các giá trị đó có nghĩa là bất cứ điều gì chúng nói trong trang man cho lệnh cụ thể đó, nhưng nói chung, hầu hết các lệnh unix trả về 0 (0) khi hoàn thành thành công và khác không (thường số dương) để chỉ ra một loạt các điều kiện thoát.

Một vài mã thoát "đặc biệt" có thể được tìm thấy ở đây:

http://www.tldp.org/LDP/abs/html/exitcodes.html


Thực sự, thông tin cốt lõi trong câu trả lời này đã được truyền đạt trong các ý kiến ​​trong câu hỏi trên. Tuy nhiên, câu trả lời là chính xác, và cung cấp một nguồn tài nguyên tốt đáng để khuyến nghị. Làm tốt lắm, +1.
TẤT CẢ NGÀY 11/2/2017

thông tin tuyệt vời và phải được chia sẻ những điều như vậy
Pankaj Kumar
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.