Perché `time` non è nel manuale di GNU Bash?


11
[fakename]$ help time
time: time [-p] pipeline
    Report time consumed by pipeline's execution...

Da questo, sembra che timesia incorporato in Bash. Tuttavia, non riesco a trovarne una descrizione in questa pagina: https://www.gnu.org/software/bash/manual/html_node/Shell-Builtin-Commands.html#Shell-Builtin-Commands . Perché è così?


1
Usa type timeper vedere di cosa si tratta.
muru,

man bashe poi digita/time
George Vasiliou il

e non dimenticare /usr/bin/timequale è simile a quello di Bash timema diverso ...
Ivanivan,

Risposte:


22

È descritto nella sottosezione "Shell Grammar / Pipelines" della manpage bash . È inoltre descritto nel collegamento fornito nella sezione Pipeline , dove è indicizzato in "Parole riservate" .

Condotte

Una pipeline è una sequenza di uno o più comandi separati da uno degli operatori di controllo | oppure | &. Il formato per una pipeline è:

[time [-p]] [ ! ] command [ | or |& command2 ... ] 

L'output standard del comando è collegato tramite un pipe all'ingresso standard del comando2. Questa connessione viene eseguita prima di qualsiasi reindirizzamento specificato dal comando (vedere REDIRECTION di seguito). Se viene utilizzato | &, l'errore standard del comando è collegato all'input standard del comando2 attraverso la pipe; è una scorciatoia per 2> & 1 |. Questo reindirizzamento implicito dell'errore standard viene eseguito dopo qualsiasi reindirizzamento specificato dal comando.

Lo stato di ritorno di una pipeline è lo stato di uscita dell'ultimo comando, a meno che l'opzione pipefail non sia abilitata. Se pipefail è abilitato, lo stato di ritorno della pipeline è il valore dell'ultimo comando (all'estrema destra) per uscire con uno stato diverso da zero o zero se tutti i comandi escono correttamente. Se la parola riservata! precede una pipeline, lo stato di uscita di quella pipeline è la negazione logica dello stato di uscita come descritto sopra. La shell attende che tutti i comandi nella pipeline terminino prima di restituire un valore.

Se la parola con tempo riservato precede una pipeline, al termine della pipeline vengono riportati il ​​tempo trascorso, nonché l'utente e il sistema consumati dalla sua esecuzione. L'opzione -p modifica il formato di output in quello specificato da POSIX. La variabile TIMEFORMAT può essere impostata su una stringa di formato che specifica come devono essere visualizzate le informazioni di temporizzazione; vedere la descrizione di TIMEFORMAT sotto Variabili shell di seguito.

Ogni comando in una pipeline viene eseguito come un processo separato (cioè in una subshell).


5

Il manuale di riferimento di Bash può essere visualizzato sulla console utilizzando info. Quindi, un utente può cercare una parola chiave negli indici premendo il tasto i, digitando la parola chiave e premendo il tasto Enter. infosalterà alla prima posizione, nel manuale, associata alla parola chiave. Premere ,per raggiungere altre posizioni. Per ulteriori informazioni, leggi il manuale GNU Info, online o sulla console usando info info. In effetti, la cosa più importante per trovare rapidamente una parola chiave, in un manuale, è usare un indice esistente.

Il fatto essenziale riguardo al problema è che time non è un built-in ma una parola o parola chiave riservata di Bash .

# Guarda anche


Ah, grazie. Sì, lo vedo ora con type time. Vedi, questo è interessante però. help helprestituisce "Visualizza informazioni sui comandi incorporati" e helpha anche informazioni di aiuto per le parole chiave?
extremeaxe5,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.