Jak ukryć polecenia wpisane w powłoce Linux?


14

Czy istnieje sposób, aby ukryć to, co wpisuję w powłoce, aby terminal nie powtarzał moich naciśnięć klawiszy, jednocześnie zachowując dane wyjściowe polecenia?

Na przykład, jeśli uruchomię ip addr show, jedyną rzeczą na ekranie powinno być wyjście z tego polecenia - a nie „ip addr show”, który wpisałem.


1
Cześć. Możesz być nieco bardziej szczegółowe na temat, content?
Nikhil Mulley,

1
Masz na myśli ukrywanie standardowego wejścia, na przykład podczas wpisywania hasła login? Używasz bash? Proszę podać więcej informacji.

content oznacza polecenia, na przykład jeśli wpisuję polecenie „ip addr show”, to nie może być widoczne w terminalu bash, co wpisuję. Ale mogę zobaczyć jego wynik
Mughil

3
To dziwny wymóg. Co próbujesz osiągnąć? Zauważ, że w przypadku typowych powłok polecenie zostanie również wprowadzone do historii i zapisane na dysku.
Gilles „SO - przestań być zły”

Odpowiedzi:


25

Jeśli chcesz wyłączyć echo wpisywanych poleceń, spróbuj wykonać następujące czynności:

stty -echo

Możesz ponownie włączyć echo za pomocą tego polecenia:

stty echo

Zauważ, że dane wyjściowe poleceń będą wyświetlane w nieco inny sposób, patrz przykładowa sesja:

$ pwd
/tmp
$ stty -echo
$ /tmp

Wynikało to z pisania pwd, powrotu stty -echo, powrotu pwd, powrotu.


2
Zauważ, że może to działać, ale nie musi, w zależności od twojej powłoki i być może od tego, jakie osobliwości wprowadzasz w swoim monicie. Również ustawienie dotyczy wszystkiego w tym terminalu; jeśli uruchomisz polecenie pełnoekranowe, prawdopodobnie zresetuje się stty +echo.
Gilles „SO - przestań być zły”
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.