Bash Script to podczas czytania stdina

Bash Script to podczas czytania stdina
Koncepcja „strumień” w komputerze dotyczy czegoś, co może przenieść dane. Wszelkie instrukcje, które wykonujesz w terminalu, znajdą się w dowolnej pozycji przepływu. Te pozycje mogą być pochodzeniem lub odpływem. Pobierzmy szybki przegląd konkretnego strumienia stdin. W Linux stdin odnosi się do domyślnego lub standardowego wejścia. Wejście wymagane musi być tekstem. Aby uzyskać od Ciebie dane lub informacje, to obsługa plików odczyt procedury. Prawie wszystkie przepływy są oglądane w systemie Linux, jakby były katalogami. Możemy odczytać/zapisywać informacje ze wszystkich tych strumieni, dokładnie tak, jak możesz odczytać/pisać dokument. Korzystając z powiązanego z nim specjalnego numeru deskryptora pliku, zapewnia doskonałe podejście do dostępu do dokumentu. Były specjalne wartości przydzielone każdemu z nich w całej sytuacji takich strumieni. Stdin ma wartość 1.

Stdin: 1

Zacznijmy od zrozumienia poprzez praktykę dotyczącą StDin Stream za pomocą pętli. Na początku będziemy mieć podstawowy przykład stdina, jak się odczytać. Wykonaj poniższą instrukcję. Instrukcja wymagałaby wprowadzania klawiatury. W tym, za pośrednictwem stdin, narzędzie do czytania otrzymuje tekst.

$ czytaj

Przykład 01:

Utwórz nowy plik „Wejście.sh ”i dodaj do niego dołączony skrypt. Używamy pętli While do odczytania tekstu przez użytkownika z terminalu i wydrukowania. Skrypt nazywa się „/dev/stdin” jako pierwszy parametr 1 USD, w którym odpowiednie podejście odczytuje regularne wejście z konsoli. Zapisz ten plik i zamknij go.

Otwórz terminal i uruchom nowo zaktualizowany plik „Wejście.sh ”jak:

$ BASH WEJŚCIE.cii

Po wykonaniu pliku za pomocą polecenia bash zostaniesz przeskoczony do następnego wiersza, aby coś napisać. Jak widać poniżej, użytkownik napisał tekst jednolowy i naciśnij Enter.

Tekst napisany przez użytkownika zostanie najpierw odczytany i wydrukowany na następnym wierszu, jak poniżej.

Możesz nawet zapewnić jedno miejsce między wejściem tekstu, jak poniżej.

Przykład 02:

Teraz przeczytamy tekst z pliku. Zaktualizuj ten sam plik „Wejście.sh ”, podając nazwę pliku„ Skrypt.sh ”jako pierwszy parametr 1 USD. Odpowiednie podejście odczytuje z tego dokumentu.

Mamy następujące informacje tekstowe w pliku „Skrypt.sh ”jak poniżej. Sprawdźmy, jak to działa.

Wykonaj plik „Wejście.sh ”za pomocą polecenia bash. Zobaczysz, że strumień odczytu odczytuje z dostarczonego pliku „Skrypt.sh ”i wydrukuj go w terminalu jak poniżej.

$ BASH WEJŚCIE.cii

Przykład 03:

Miejmy przykład, aby przeczytać każdy katalog jeden po drugim za pomocą stdina. Musisz rozważyć parametr -u z odczytem. W tym „-u 1” implikuje „czytaj ze stdin.„W tym kodzie„ linia ”reprezentuje nazwę pliku, a przyrost„ I ++ ”służy do przeskoczenia do następnego katalogu lub pliku. Policzy również odczytany numer pliku. Uruchommy ten kod, aby sprawdzić, co będzie dalej.

Wykonaj plik bash „Wejście.cii". Poprosi Cię o wprowadzenie tekstu, aby przeskoczyć do następnego pliku. Tutaj „Comm” reprezentuje nazwę pierwszego pliku.

$ BASH WEJŚCIE.cii

Kontynuując to, widać, że mamy listę plików, przez które przeszliśmy.

Przykład 04:

W tym przykładzie mamy dwa powiązane pliki do odczytania. Przypisz wymagane uprawnienia do obu plików za pomocą polecenia „CHMOD” jak poniżej.

chmod u+x nazwa pliku

Napisz poniższy kod w pliku „Wprowadzenie.cii". Dopóki pętla „While” otrzyma linie, wydrukuje te linie. Podczas gdy „linia” odnosi się do innego pliku „Skrypt.cii".

Mamy poniższy kod w pliku „Skrypt.cii". Podczas pracy pętli drukuje numer linii.

Wykonaj oba pliki za pomocą „”./”Na początku nazwy pliku i oddzielenie za pomocą„ ”|” w skorupce. Zobaczysz, że drukuje numery linii podczas drukowania tekstu z plików. To bardzo prosta metoda korelacji dwóch plików lub ich zawartości.

$ ./scenariusz.sh | ./wejście.cii

Przykład 05:

Zakończmy ten temat, mając ten prosty i wydajny przykład. Mamy plik „Skrypt.sh ”z poniższymi treściami lub nazwami osób. Będziemy czytać te nazwy jeden po drugim z innego pliku.

Zaktualizuj plik „Wejście.sh: z poniższym skryptem. W tym skrypcie mamy trochę czasu, aby rozwinąć działanie „stdin”. Używamy odczytu „odczyt -r” podczas odczytu z innego pliku jako innej niż standardowe dane wejściowe. Z drugiej strony, używając „-u” jako specyficznego dla bash, standardowe wyjście od użytkownika w terminalu. Tutaj „nazwa” to tekst lub treść pliku „skrypt.cii". Opcja „-p” służy do „czytania”. Instrukcja odczytu przeczyta „Nazwa” z innego pliku i zapyta, czy chcesz go usunąć, czy nie. Słowo kluczowe „IP” służy do odpowiedzi użytkownika w celu potwierdzenia działania usunięcia. Bez względu na odpowiedź użytkownika, wydrukuje to. W instrukcji „If” sprawdzi, czy standardowe wejście od użytkownika jest takie samo jak „Y”, wówczas wydrukuje wiadomość jako wspomnienie, że usuwa „nazwę”. Proces ten zostanie powtórzony do ostatniej zawartości pliku „Skrypt.cii".

Rzućmy okiem na wyjście powyższego kodu. Wykonaj plik za pomocą polecenia Bash. System zapyta Cię, czy chcesz usunąć tę „nazwę”, czy nie. Wprowadź „Y” i dotknij „Enter”.

$ BASH WEJŚCIE.cii

Tutaj naciskając „Y”, wydrukuje „Y” i pokaże wiadomość, że usuwa konkretną „nazwę”. Następnie przejdzie na inną „nazwę”.

Poprosi Cię o usunięcie nazw, aż wszystkie nazwy lub zawartość pliku „Skrypt.sh ”zostały przewiezione jak poniżej.

Wniosek:

Wspaniale przeszliśmy wszystkie proste przykłady standardowego wejścia podczas używania pętli „while” w skrypcie Bash.