یک اسکریپت برای مانیتور کردن تعداد کانکشن های فعال وب سرور nginx اجرا میکردم که خروجیش شامل چندین خط بود.
همچنین توصیه میشود مطالعه کنید :
دستور cUrl در لینوکس به همراه 15 مثال عملی
من قصد داشتم فقط خط اول خروجی رو دریافت کنم که برای این کار از pip و دستور grep استفاده کردم که کار نکرد و باز هم خروجی رو به صورت کامل بهم میداد. بعد از سرچ دستور زیر را پیدا کردم که خروجی که میخواستم رو بهم میداد.
دستور curl خروجی را در stderr رایت می کند بنابراین آنرا redirect کرده و همچنین مانع از پیشروی دستور می شود. دلیل اینکه چرا curl اطلاعات را در stderr رایت می کند این است که شما بتوانید دستور زیر را اجرا کنید :
که بدون اطلاعات، ورودی someprgram را به دیتای خروجی وصل می کند.
کد PHP:
Active connections: 2
server accepts handled requests
627 627 1483
Reading: 0 Writing: 1 Waiting: 1
همچنین توصیه میشود مطالعه کنید :
دستور cUrl در لینوکس به همراه 15 مثال عملی
من قصد داشتم فقط خط اول خروجی رو دریافت کنم که برای این کار از pip و دستور grep استفاده کردم که کار نکرد و باز هم خروجی رو به صورت کامل بهم میداد. بعد از سرچ دستور زیر را پیدا کردم که خروجی که میخواستم رو بهم میداد.
کد PHP:
# curl -v --silent http://127.0.0.1/nginx_status 2>&1 | grep Active
Active connections: 1
دستور curl خروجی را در stderr رایت می کند بنابراین آنرا redirect کرده و همچنین مانع از پیشروی دستور می شود. دلیل اینکه چرا curl اطلاعات را در stderr رایت می کند این است که شما بتوانید دستور زیر را اجرا کنید :
کد PHP:
curl <url> | someprgram