Praktyczne pytania i odpowiedzi na temat scenariuszy Linux Shell
- 894
- 246
- Natan Cholewa
Dzięki przytłaczającej odpowiedzi otrzymujemy artykuły z serii wywiadów, pierwszy tego rodzaju na dowolnej stronie internetowej Linux w formie polubień, opinie w komentarz artykuł.
Oto link do artykułów z serii wywiadów opublikowanych już na Tecmint.com, gdzie omówiliśmy wiele tematów, a mianowicie., FTP, MySQL, Apache, Scripting, Linux itp.
Praktyczne pytanie dotyczące wywiadu na temat scenariuszyKontynuując powyższą serię tutaj, przyjeżdżamy z kolejnymi 5 cudownymi pytaniami z wywiadu Linux i ich odpowiedzią. Twój (Tecmint.czytelnicy i częstych odwiedzających) Wsparcie jest zawsze potrzebne, aby osiągnąć sukces.
1. Napisz skrypt powłoki, aby uzyskać bieżącą datę, godzinę, nazwę użytkownika i bieżący katalog roboczy.
Odpowiedź : Nazwa logowania poleceń, data, kim jestem, a PWD wyprowadzi nazwę użytkownika, bieżącą datę i godzinę oraz aktualny katalog roboczy. Po prostu wdrażanie tych poleceń w skrypcie i czyniąc je nieco interaktywnym.Teraz utwórz plik o nazwie 'Userstats.cii'i dodaj do niego następujący kod.
#!/bin/bash echo "hello, $ logName" echo "
Umieść Wykonaj uprawnienie i uruchom skrypt, jak pokazano poniżej.
# CHMOD 755 Userstats.cii # ./Userstats.cii
Przykładowy wyjście
Witam, avi bieżąca data to sobota 7 czerwca 13:05:29 IST 2014 Użytkownik to AVI PTS/0 2014-06-07 11:59 (: 0) Obecny katalog/home/avi/komputer stacjonarny
2. Napisz skrypt powłoki, który dodaje dwa liczby, jeśli jest podany jako argument wiersza poleceń, a jeśli nie wprowadzono dwóch liczb, wyświetla komunikat o błędzie wraz z jedną linią instruktaż.
Odpowiedź : Oto prosty skrypt powłoki wraz z opisem, który dodaje dwa liczby, jeśli podano jako argument wiersza poleceń, jeśli nie rzuca błąd z pojedynczym wierszem na temat korzystania z skryptu.Ponownie utwórz plik o nazwie 'Dwuczówny.cii'i dodaj do niej następującą treść.
#!/bin/bash # shebang Jeśli [$ # -NE 2] # Jeśli dwa wejścia nie są odbierane ze standardowego wejścia, to #, następnie wykonaj poniższe instrukcje echo „Zastosowanie -0 $ x y” # Drukuj na standardowym wyjściu, skorzystaj z skrypt (użycie - ./1.sh x y) echo "gdzie x i y są dwoma nosami, dla których wydrukuję sumę" # drukuj na standardowym wyjściu, „gdzie x i y to dwa no Zadanie zostało pomyślnie wykonane. fi # koniec instrukcji IF. Echo „Suma 1 USD i 2 USD to„ Expr 1 $ + 2 ”” # Jeśli powyższy warunek był fałszywy, a użytkownik wprowadził dwie liczby jako argument wiersza poleceń, pokaże sumę wprowadzonych liczb.
Ustaw uprawnienie Executter na pliku i uruchom skrypt, jak pokazano poniżej.
# CHMOD 755 DWAMI NUMBERS.cii
Warunek 1: Uruchamianie skryptu bez wprowadzania dwóch liczb jako argumentu wiersza poleceń, otrzymasz następujące dane wyjściowe.
Przykładowy wyjście
# ./Dwuczulki.użycie sh - ./Dwuczulki.sh x y, gdzie x i y są dwoma nosami, dla których wydrukuję sumę
Warunek 2: Gdy liczby zostaną wprowadzone jako argument wiersza poleceń, otrzymasz wynik, jak pokazano.
$ ./Dwuczulki.sh 4 5 suma 4 i 5 to 9
Stąd powyższy skrypt powłoki spełnia warunek, jak sugerowano w pytaniu.
3. Musisz wydrukować dany numer powiedzmy 10572, w odwrotnej kolejności za pomocą skryptu powłoki, tak aby wejście są dostarczane tylko za pomocą argumentu wiersza poleceń. Jeśli dane wejściowe nie są dostarczane jako argument wiersza poleceń, powinien rzucać i błąd i sugerować, jak używać skryptu. Napisz skrypt, ale wcześniej powiedz mi algorytm, który należy tutaj zaimplementować.
Algorytm
- 1. Niech liczba wejściowa = n
- 2. Ustaw Rev = 0, SD = 0 (odwrotne i pojedyncze zapalenie zapalenia ustawione na 0)
- 3. n % 10, znajdzie i da single pozostawione w większości cyfr
- 4. Numer odwrotny jest generowany jako Rev * 10 + SD
- 5. Zmniejszyć liczbę wejściową (n) o 1.
- 6. Jeśli n> 0, to GOTO Krok 3 Else Goto Setp 7
- 7. Drukuj Rev
Teraz ponownie utwórz plik o nazwie 'liczby.cii'i dodaj następujący kod to.
#!/bin/bash if [$# -Ne 1] Następnie echo „Zastosowanie: 0 $ Numer„ Echo ”Znajdę odwrotność podanej liczby„ Echo ”dla EG. 0 $ 0123, wydrukuję 3210 "Wyjdź 1 fi n = 1 $ rev = 0 sd = 0, podczas gdy [$ n -gt 0] do sd =" expr $ n % 10 "rev =" expr $ rev \* 10 + $ sd „N =” Expr $ N / 10 ”DODODNE ECHO„ Numer odwrotny to $ Rev ”
Udzielić uprawnienia wykonania w pliku i uruchom skrypt, jak pokazano poniżej.
# CHMOD 755 Liczby.H
Warunek 1: Gdy dane wejściowe nie jest dostarczane jako argument wiersza poleceń, otrzymasz następujące dane wyjściowe.
Przykładowy wyjście
./liczby.SH Użycie: ./liczby.SH Numer znajdę odwrotność podanej liczby dla np.SH 123, wydrukuję 321
Warunek 2: Gdy dane wejściowe zostało przedstawione jako argument wiersza poleceń.
$ ./liczby.SH 10572 Numer odwrotny to 27501
Powyższy skrypt działał idealnie, a wyjście było właśnie tym, czego potrzebowaliśmy.
4. Powinieneś obliczyć obliczenia liczby rzeczywistych bezpośrednio z terminalu, a nie żadnego skryptu powłoki. Co zrobisz (powiedzmy, że rzeczywiste liczby to 7.56 i 2.453)?
Odpowiedź : Musimy użyć polecenia BC w specjalny sposób, jak opisano poniżej. Wyjście Echo 7.56 + 2.453 powinno być potokowe do BC.Na przykład uruchom następujące polecenie, aby obliczyć liczby w czasie rzeczywistym, używając pne polecenie jak pokazano.
$ Echo 7.56 + 2.453 | BC 10.013
5. Powinieneś znaleźć wartość PI do 100 miejsc dziesiętnych, jaki jest najłatwiejszy sposób na wykonanie wyniku.
Odpowiedź : Najłatwiejszy sposób na znalezienie wartości PI, popraw do 100 miejsc dziesiętnych, musimy tylko wydać poniższe polecenie.# PI 100 3.141592653589793238462643383279502884197169399375105820974944592307816406286208998628034825342117067
Oczywiście! Musimy mieć pakiet 'Liczba Pi„Zainstalowano. Po prostu zrób trafny Lub mniam Aby uzyskać wymagany pakiet do zainstalowania 'Liczba Pi„Do rozkładu, którego używasz.
To wszystko na teraz. Niedługo znowu tu będę z kolejnym interesującym artykułem. Do tego czasu bądź na bieżąco i podłączony do Tecmint.com. Nie zapomnij przekazać nam cennej informacji zwrotnej w sekcji komentarzy poniżej.
- « Instalowanie LEMP (Linux, Nginx, MySQL/MariaDB, PHP/PHP-FPM i PhpMyAdmin) w Gentoo Linux
- Stwórz .Repozytorium pakietu Deb ”w Sourceforge.Net za pomocą narzędzia „Reprepro” w Ubuntu »