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.