Tôi có kịch bản bash sau:Bash script không thoát ngay lập tức khi `exit` được gọi
tail -F -n0 /private/var/log/system.log | while read line
do
if [ ! `echo $line | grep -c 'launchd'` -eq 0 ]; then
echo 'launchd message'
exit 0
fi
done
Đối với một số lý do, nó được lặp lại launchd message
, chờ đợi một đầy 5 giây, và sau đó thoát.
Tại sao điều này xảy ra và làm cách nào để thoát ngay sau khi nó lặp lại launchd message
?
Tôi nhận được lỗi cú pháp ở dòng đã hoàn thành ... – Chetan
Ah, đó là vì tôi đang sử dụng/bin/sh, ngu ngốc. – Chetan
Gọi bash là sh sẽ vô hiệu hóa một số tính năng nhất định, bao gồm cả thay thế quy trình. –