Loại bỏ nội dung trang từ biến:
Khi tôi cố gắng lệnh của bạn, myduration
chứa các nội dung HTML của trang tại URL tôi được sử dụng trong thử nghiệm của tôi cộng với giá trị thời gian. Bằng cách thêm -s
để chặn thanh tiến trình và thêm -o /dev/null
vào các tùy chọn cho curl
, tôi có thể xóa chuyển hướng đến /dev/null
và chỉ có thời gian được lưu trong myduration
.
Kể từ khi giá trị của myduration
có khả năng là ngắn, bạn có thể sử dụng kỹ thuật này ire_and_curses
chương trình thường sẽ mang lại không như kết quả của nó mà sẽ ít hơn so với 1 bạn đang thử nghiệm cho (lưu ý rằng thông điệp đăng nhập của bạn nói "6 giây", mặc dù).
Finer độ phân giải:
Nếu bạn muốn có một bài kiểm tra độ phân giải tốt hơn, bạn có thể nhân myduration
1000 sử dụng một kỹ thuật như thế này:
mult1000() {
local floor=${1%.*}
[[ $floor = "0" ]] && floor=''
local frac='0000'
[[ $floor != $1 ]] && frac=${1#*.}$frac
echo ${floor}${frac:0:3}
}
Edit: Phiên bản này của mult1000
xử lý đúng các giá trị như "0.234", "1", "2.", "3.5" và "6.789". Đối với các giá trị có nhiều hơn ba chữ số thập phân, các chữ số bổ sung được cắt ngắn mà không làm tròn bất kể giá trị ("1.1119" trở thành "1.111").
Kịch bản của bạn với những thay đổi tôi đã đề cập ở trên và sử dụng mult1000
(với thời gian ví dụ của riêng tôi):
myduration=$(curl -s -o /dev/null http://192.168.50.1/mantisbt/view.php?id=1 -w %{time_total}); [[ $(mult1000 $myduration) -gt 3500 ]] && echo "`date +'%y%m%d%H%M%S'` took more than 3.5 seconds to load the page http://192.168.50.1/mantisbt/view.php?id=1 " >> /home/shantanu/speed_report.txt
Ở đây nó được chia thành nhiều dòng (và đơn giản) để làm cho nó dễ đọc hơn ở đây trong câu trả lời này :
myduration=$(curl -s -o /dev/null http://example.com -w %{time_total})
[[ $(mult1000 $myduration) -gt 3500 ]] &&
echo "It took more than 3.5 seconds to load thttp://example.com" >> report.txt
Nguồn
2009-09-01 15:26:15
chức năng trần thực sự sai khi
./int.sh 12.0
sẽ trả về 13.0, trong đó nó phải trả về 12 theo định nghĩa của hàm trần (số nguyên nhỏ nhất không nhỏ hơn x) – dm76@ dm76 - Có, trường hợp cạnh đó là điểm tốt. –