Czy ktoś zna sposób umieszczania polecenia „time” przed każdym poleceniem w sesji bash?
command-line
bash
shell
jthoenes
źródło
źródło
Odpowiedzi:
Przepraszam za złą odpowiedź wcześniej, nie rozumiem twojego pytania.
Aby dodać czas przed każdym poleceniem wykonanym w powłoce, możesz zrobić coś takiego
Spowoduje to ponowne powiązanie klawisza Return. Teraz za każdym razem, gdy naciśniesz klawisz powrotu zamiast pisania nowego wiersza \ n, przejdzie on na początek wiersza, wprowadzi tekst „czas” i spację, przejdzie na koniec wiersza i wprowadzi nowy wiersz \ n, tworząc w ten sposób pożądany efekt.
Jeśli nie chcesz poświęcać swojego klawisza Enter, możesz utworzyć „drugi” klawisz porównawczy, np. F12, wiążąc polecenie w ten sposób
Teraz zamiast zastępować klawisz powrotu, związałeś F12.
Tłem tego wszystkiego jest to, że bash używa polecenia readline GNU do odczytu poleceń. Tak więc readline byłby dobrym punktem wyjścia do dalszej manipulacji poleceniami itp.
źródło
Zdaję sobie sprawę, że to nie wchodzi w zakres tego pytania, ale ...
W
zsh
(co, według mojej wiedzy, to super zestaw bash), jeśli ustawisz następującą zmienną w swoim.zshrc
pliku:Każde polecenie, które trwa dłużej niż 5 sekund (jestem całkiem pewien) wyświetli wynik
time
. Nie wszystkie polecenia, które szybciej się wypełniają. I w takich przypadkach tak naprawdę to nie obchodzi, więc miło jest nie zaśmiecać rzeczy. Istnieje również wiele innych fajnych funkcjizsh
, które mogą ci się spodobać, gdy jesteś przy nim.źródło
Uwzględnij \ t w ciągu zachęty. Będzie zawierać czas w monicie w punkcie, w którym go podałeś. Zobacz: http://www.ibm.com/developerworks/linux/library/l-tip-prompt/
źródło
PS1 wydaje się standardowym sposobem na zrobienie czegoś takiego.
źródło
time
robi (mierzy, ile czasu zajęło wykonanie polecenia).