Krótkie pytanie. Czy możliwe jest utworzenie zakładki danych wyjściowych w systemie Ubuntu 16.04 LTS? Utworzyłem dwa zdjęcia poniżej, aby zilustrować, co mam na myśli.
command-line
bash
Alex Ng
źródło
źródło
YOUR COMMAND | indent
lub jeśli musisz wpisać inne polecenie przed nim (może to być tylko podkreślenie), takie jak_ YOUR COMMAND
?Odpowiedzi:
Możesz zrobić coś takiego - z deskryptorami plików:
zapisz bieżący deskryptor wyjściowy, abyśmy mogli go później przywrócić
przekieruj strumień wyjściowy do podstawienia procesu, który wstawia kartę - na przykład
Od tego momentu każdy proces, który zapisuje na standardowe wyjście, będzie filtrował dane wyjściowe za pomocą
paste
polecenia wstawiania tabulatorów na początku.Po zakończeniu możesz przywrócić normalne zachowanie, przywracając zapisany deskryptor pliku i zamykając tymczasowy
źródło
less
lub podobnych narzędzi, aby umożliwić przewijanie danych wyjściowych, takich jak npman
.Rozumiem, że ta odpowiedź nie jest dla ciebie optymalna, ale możesz utworzyć funkcję Bash o prostej nazwie
_
(lub cokolwiek, co nie jest jeszcze używane), która uruchamia komendę, którą otrzymuje jako argumenty i wcina wszystkie wyniki za pomocą tabulacji.Przykład:
Kod tej funkcji będzie taki:
Możesz dołączyć go do swojego
~/.bashrc
pliku, aby był dostępny we wszystkich sesjach Bash użytkownika, uruchamiając:Jeśli chcesz udostępnić go wszystkim użytkownikom, dołącz go
/etc/bash.bashrc
zamiast tego (wymaga uprawnień administratora):Alternatywnie możesz również utworzyć plik skryptu
/usr/local/bin/_
z następującą zawartością, aby osiągnąć to samo bez funkcji Bash i dla wszystkich użytkowników:Po zapisaniu pliku należy wykonać skrypt
źródło
Za pomocą przełącznika
echo
możesz w szczególności interpretować zmiany ukośnika odwrotnego, takie jak\t
( tabulator )-e
:Ale modyfikacja wyniku każdego polecenia w ten sposób byłaby praktycznie niemożliwa (lub prawdopodobnie możliwa). Jeśli Twoim celem jest łatwość czytania, możesz spróbować dostosować wygląd (np. Kolorystykę) wiersza polecenia, jak pokazano poniżej:
Możesz dostosować monit, zmieniając zawartość zmiennej środowiskowej
PS1
. Możesz zobaczyć mały przykład tego, jak to zrobić w blogu, z którego pochodzi powyższy zrzut ekranu. Jak szczegółowo korzystać z tak zwanych sekwencji ucieczki ANSI, jak korzystać z wygodniejszych narzędzi, jak domyślnie stosować zmiany w nowych terminalach itp., Wykracza poza zakres tej odpowiedzi. Ale jeśli zdecydujesz się użyć tej techniki, w sieci jest wiele samouczków i innych informacji.źródło