Điểm:0

Cách kiểm tra xem k lệnh cuối cùng có chạy thành công không

lá cờ cn

Tôi đang chạy một vài lệnh bash và muốn kiểm tra xem cuối cùng tất cả chúng có chạy thành công hay không. Làm thế nào tôi nên đi về điều này?
Đây là những gì tôi đã cố gắng.

$ man # lệnh 1 với trạng thái thoát 1
Bạn muốn trang hướng dẫn nào?

$ res1=$? # lệnh 2 với trạng thái thoát 0
# cái này cũng lưu mã thoát của mã trước đó, tức là 1

$ res2=$? # lưu trữ mã thoát của lệnh trước tức là 0

# Bây giờ tôi muốn kiểm tra xem tất cả các lệnh trước đó có hoạt động tốt với mã thoát của chúng không
$ tiếng vang $res1 && $res
1
0: không tìm thấy lệnh

Điều gì là không chính xác với cách tiếp cận hiện tại của tôi. Hoặc Điều gì nên là điều đúng đắn để làm? Có cách nào tốt hơn để khái quát hóa nó cho các lệnh k cuối cùng không.
Cảm ơn trước.

guiverc avatar
lá cờ cn
Bạn `echo $res` nhưng sau đó yêu cầu `$res` được thực thi như một lệnh? do đó, 'không tìm thấy lệnh' là hợp lệ vì tôi cũng không biết về lệnh 0. `&&` như bạn đã chỉ định, nó sẽ ngắt các lệnh và thực thi các lệnh sau CHỈ NẾU phần đầu tiên được thực thi thành công; do đó `$res` đã cố gắng được thực thi; nhưng 0 không hợp lệ ... do đó lỗi
Điểm:0
lá cờ in

Tôi cũng gặp một số vấn đề vì điều này

id giải quyết vấn đề của tôi theo cách này

đầu tiên, tôi đã viết một hàm kiểm tra trạng thái của lệnh mà tôi chạy trong tập lệnh của mình


chức năng show_ process_status () {
    nếu [ $? == 0 ]; sau đó 
        lặp lại $1
    khác
        lặp lại $2
        nghỉ
    fi
}

sau đó trong tập lệnh của tôi, tôi gọi hàm này sau bất kỳ lệnh nào mà tôi chạy, ví dụ:

hàm update_system(){
    echo "bắt đầu cập nhật hệ thống"
    sudo apt-get cập nhật -y
    show_ process_startus "cập nhật repos thành công" "Đã xảy ra lỗi khi cập nhật repos"
    nếu [[ $1 == "đầy đủ" ]]; sau đó
        sudo apt-get dist-nâng cấp -y
        show_ process_startus "cập nhật hệ thống thành công" "Đã xảy ra lỗi khi cập nhật hệ thống"
    elif [[ $1 == "sửa chữa" ]]; sau đó 
        Sudo apt-get update --fix-missing
        show_ process_startus "cập nhật sửa lỗi thành công" "Đã xảy ra lỗi khi thiếu sửa lỗi"
        sudo apt-get cập nhật
    fi
}

bên trong show_ process_status Tôi nhận được hai đối số, đối số đầu tiên được in khi mã chạy và thoát thành công và đối số thứ hai được sử dụng khi thoát lệnh không thành công.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.