Tôi đang cố gắng tạo một số kịch bản kiểm tra pass / fail đơn giản, nhưng tôi đang gặp một số thách thức như được nêu dưới đây. Mục đích của tôi là lấy toàn bộ kết quả của một lệnh (chẳng hạn như ping) vào một results.txttệp để giữ, nhưng cũng phân tích results.txttệp để kiểm tra khác nhau nếu phát hiện ra vấn đề:
#!/bin/bash
ping -c 20 google.com > results.txt
packetloss = `awk '/packet loss/{x=$6} END{print x}' results.txt`
echo "$packetloss" >> debug.txt
# if packetloss > 0, add to an error.txt to fail
# if avg ping time > 5ms, add to an error.txt to fail
Biến packloss không nhận được awkthông tin từ results.txttệp (gửi đến tệp gỡ lỗi để xem xét). Tôi đã tự hỏi nếu có một cái gì đó về kịch bản shell sẽ ngăn chặn điều này và một cách giải quyết liên quan?
Chạy thủ công awkvới results.txtlợi nhuận '0%', đó là kết quả mong đợi.