में ksh, bashऔर zsh, timeएक कमांड (बिलिन या नहीं) नहीं है, यह भाषा में आरक्षित शब्द है जैसे forया while।
इसका उपयोग पाइपलाइन 1 के समय के लिए किया जाता है ।
में:
time for i in 1 2; do cmd1 "$i"; done | cmd2 > redir
आपके पास विशेष सिंटैक्स है जो शेल को उस पाइप लाइन को चलाने के लिए कहता है:
for i in 1 2; do cmd1 "$i"; done | cmd2 > redir
और इसके लिए समय आँकड़ों की रिपोर्ट करें।
में:
time cmd > output 2> error
यह वही है, तो आप कर रहे हैं समयcmd > output 2> error आदेश, और समय आंकड़े अभी भी खोल के stderr पर चलते हैं।
आप की जरूरत है:
{ time cmd > output 2> error; } 2> timing-output
या:
exec 3>&2 2> timing-output
time cmd > output 2> error 3>&-
exec 2>&3 3>&-
शेल के स्टडर के लिए timing-outputसमय के निर्माण से पहले पुनर्निर्देशित किया जाना चाहिए (फिर से, कमांड नहीं ) का उपयोग किया जाता है (यहां समय के लिए cmd > output 2> error 3>&-)।
आप उस timeनिर्माण को एक उप- भाग में भी चला सकते हैं जिसमें उसका स्टैडर पुनर्निर्देशित है:
(time cmd > output 2> error) 2> timing-output
लेकिन यहां उप-धारा आवश्यक नहीं है, आपको केवल उस समय पुनर्निर्देशित होने के लिए stderr की आवश्यकता होती है जब timeनिर्माण को लागू किया जाता है।
अधिकांश सिस्टम में एक timeकमांड भी है । आप timeकीवर्ड को अक्षम करके उसको लागू कर सकते हैं । आपको बस उस कीवर्ड को किसी भी तरह से उद्धृत करना होगा क्योंकि कीवर्ड केवल तभी पहचाने जाते हैं जैसे कि शाब्दिक।
'time' cmd > output 2> error-and-timing-output
लेकिन सावधान रहें प्रारूप भिन्न हो सकता है और दोनों का स्टाडर timeऔर cmdविलीन हो जाएगा error-and-timing-output।
इसके अलावा, निर्माण के timeविपरीत आदेश, timeसमय पाइपलाइनों या यौगिक आदेशों या कार्यों या शेल बिल्डिंस नहीं कर सकता ...
यदि यह एक अंतर्निहित कमांड था, तो यह समय पर इनवोकेशन या बिल्डिंस को कार्य करने में सक्षम हो सकता है, लेकिन यह समय पुनर्निर्देशन या पाइपलाइन या कंपाउंड कमांड नहीं कर सकता है।
1 ध्यान दें कि bash(क्या माना जा सकता है) एक बग जिससे time (cmd) 2> file(लेकिन time cmd | (cmd2) 2> fileउदाहरण के लिए नहीं ) समय आउटपुट को पुनर्निर्देशित करता हैfile
timeशेल कीवर्ड, या के आधार पर अलग-अलग होंगे/usr/bin/time। यहां शामिल किए गए विवरणकर्ताओं के कई सेट हो सकते हैं (शेल का, औरtimeप्रक्रिया से जुड़े लोग )। और चलो()उपधारा द्वारा निहित के बारे में मत भूलना । ( बैश विशेषज्ञ की प्रतीक्षा में : p)